<SEC-DOCUMENT>0000950170-24-018809.txt : 20240222
<SEC-HEADER>0000950170-24-018809.hdr.sgml : 20240222
<ACCEPTANCE-DATETIME>20240222162607
ACCESSION NUMBER:		0000950170-24-018809
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		121
CONFORMED PERIOD OF REPORT:	20231231
FILED AS OF DATE:		20240222
DATE AS OF CHANGE:		20240222

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			REPLIGEN CORP
		CENTRAL INDEX KEY:			0000730272
		STANDARD INDUSTRIAL CLASSIFICATION:	BIOLOGICAL PRODUCTS (NO DIAGNOSTIC SUBSTANCES) [2836]
		ORGANIZATION NAME:           	03 Life Sciences
		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:		24665243

	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>rgen-20231231.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:nonNumeric="http://www.xbrl.org/dtr/type/non-numeric" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:ecd-sub="http://xbrl.sec.gov/ecd-sub/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:rgen="http://www.repligencorp.com/20231231" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2022-02-16">
 <head>
  <title>10-K</title>
  <meta http-equiv="Content-Type" content="text/html"/>
 </head>
 <body style="margin: auto!important;padding: 8px;">
  <div style="display:none;"><ix:header><ix:hidden><ix:nonNumeric id="F_ed5efebf-4e5c-48b5-85dc-204d301f886c" name="dei:DocumentFiscalPeriodFocus" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee">FY</ix:nonNumeric><ix:nonNumeric id="F_da102802-52c3-470d-8a3b-6e5fbf47cd4f" name="dei:CurrentFiscalYearEndDate" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" format="ixt:date-month-day">12-31</ix:nonNumeric><ix:nonNumeric id="F_4e2024c9-7223-426e-a56a-c537c63096a8" name="dei:EntityCentralIndexKey" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee">0000730272</ix:nonNumeric><ix:nonNumeric id="F_ba30257e-68cd-450e-8567-22cf37733c09" name="ecd:TrdArrTerminationDate" contextRef="C_b6787db1-52de-4a36-a87c-ee2149a29d57">P252D</ix:nonNumeric><ix:nonNumeric id="F_bc7a94ea-27f4-470c-aef8-35531bf44765" name="dei:AmendmentFlag" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" format="ixt:fixed-false">false</ix:nonNumeric><ix:nonNumeric id="F_ac9a2dce-b608-4341-b136-c791f285e18d" name="ecd:TrdArrDuration" contextRef="C_b6787db1-52de-4a36-a87c-ee2149a29d57">P372D</ix:nonNumeric><ix:nonFraction id="F_f4c04ce3-5e2c-43ea-8986-99578a1f9af9" name="us-gaap:CommitmentsAndContingencies" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" unitRef="U_USD" xsi:nil="true"></ix:nonFraction><ix:nonFraction id="F_f11edaa8-1169-4eef-bffc-60534cd9c2f7" name="us-gaap:CommitmentsAndContingencies" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" unitRef="U_USD" xsi:nil="true"></ix:nonFraction><ix:nonNumeric id="F_833e71a6-5eeb-49e0-a78c-32c503c839cf" name="us-gaap:PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration" contextRef="C_02a62185-3293-4e50-8d90-d837e774dbe7">http://fasb.org/us-gaap/2023#UsefulLifeShorterOfTermOfLeaseOrAssetUtilityMember</ix:nonNumeric><ix:nonNumeric id="F_5228bde0-a8f9-4d0e-8b0f-d7ad6cd002e0" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="C_e8faaed7-6fda-402c-a16e-99d4a4e56b2e">P3Y</ix:nonNumeric><ix:nonNumeric id="F_f687d5a1-4081-4400-8f1a-6ce4fa87b8cf" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="C_c624307a-b136-4698-8f3a-4b1d199716aa">P3Y</ix:nonNumeric><ix:nonNumeric id="F_254e1113-308c-468a-ae2c-284636e490d3" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="C_4657ed88-5bd4-42c3-a3cf-30d12a4568e5">P3Y</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="rgen-20231231.xsd"/></ix:references><ix:resources><xbrli:context id="C_54184f1a-1592-4665-af8d-409b694a5dec"><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:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_d44873d0-5bbc-4020-be55-4d5fb3f6c3b1"><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:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d69fb9ce-46c5-482d-a1dd-f09d22665603"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f59feb09-1594-4f9b-b24f-dce4020f6e60"><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="C_24412dc4-9725-40db-a5fd-31d323a358ad"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e22adbe5-96a3-4c4b-9e62-7ff5e4632e82"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-17</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4963f6f6-5033-4b4e-af94-a330c4799802"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_773897c3-11b6-4fb5-a648-c26fd1e1a4a5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:TrueUpCostsDecember2020Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1c9ae0a3-e3e4-4470-8ffe-8b0ec9fe3b73"><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="srt:StatementGeographicalAxis">rgen:APACOtherMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_7e93c0d0-63e6-41ca-b59d-86f69eed6201"><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="C_ca71e7e9-5ff7-46a2-919a-adebe8640f89"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2c1ea27c-b234-4def-9024-deb8afedfee8"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e29aed53-4e06-4a54-bd1b-2402a8ee2f2f"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_87f0d3f5-5044-424a-a609-3ca174b1bfce"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_68b0b5e6-baaa-460e-ac57-8b878db22d5d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4a1e689c-1cf6-44d6-b7de-43b7a8b4f932"><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><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3c49da65-3675-437a-9c07-ffc203307dd8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:CashAndCashEquivalentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5cb3e512-dc73-4d57-ab65-9f51145bcb3b"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_fbf962af-3518-49a4-acd6-7423efa30a24"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a99ed7d0-9879-4894-8c89-02d90cf4d581"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">us-gaap:ResearchAndDevelopmentArrangementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:NGLImpactAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_db538168-e071-4221-adec-303658be9d4c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityExitAndOtherExitCostsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_9757f996-2ce2-4412-8fbd-38b26bafaf36"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_7d54aed8-1af4-4b01-ac5a-6386ffe65437"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">rgen:CashAndMoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1cedf720-2fed-4464-9b91-5fa91941f750"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_fadab7cb-bdf3-48c0-8aae-4d92613236b3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2409797a-4999-4eb6-b741-0e80430b862d"><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></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1e39a1e5-6510-4776-a74e-97861c37cf9b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8ab693e6-bbbd-4af2-bae9-28eb2bd31104"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityAndOtherExitCostsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f1dabb7b-507c-48bd-a26a-32591ee1c9d3"><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:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f9061e21-e0a8-43ae-a507-63f7652b4a10"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c624307a-b136-4698-8f3a-4b1d199716aa"><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:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_32027269-01ec-4fb8-8c03-af239df544a7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_aabb6a18-d0f6-4b1d-a1b9-9be92dd88cc3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">us-gaap:ResearchAndDevelopmentArrangementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:NGLImpactAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_758b478e-0fb1-42f2-a8c4-70f7ab33f82e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangedTwoZeroOneNineNotesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-14</xbrli:startDate><xbrli:endDate>2023-12-14</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b52c1b81-aa58-46b9-a15a-30bd2e555808"><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="C_879baac1-a78a-4fba-bc72-f72f103d8c30"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2f20bf71-d33f-44d9-9a2f-ef1b16f8b88e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e53b0c91-806b-4591-8896-50dab997d73d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_257e3f99-1942-4ddd-b38b-f574a469f425"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_02a62185-3293-4e50-8d90-d837e774dbe7"><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:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0e0bd552-bcac-4012-9965-2bb9a4e1ed90"><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="C_15d94e6d-7075-447b-b770-80398d6a7556"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:TrueUpCostsDecember2020Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_79913b54-4d18-4861-8db0-f6441ae54ca2"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_fa4baece-c5b3-4da0-b25a-3a53da2cd13e"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4657ed88-5bd4-42c3-a3cf-30d12a4568e5"><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:PropertyPlantAndEquipmentByTypeAxis">rgen:ComputerHardwareAndSoftwareMemberMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_efffc0ae-2172-43c5-8114-d5bffb7f041e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_eeeb3de4-e5e2-411c-b119-8f88413231a6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1a51bea0-3b9d-4190-9135-d28e1bbd308e"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_18370ce1-bdc3-40c6-b882-2e1f2cee9520"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8d083a6d-09d3-4820-abd3-7832cd8cf710"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">rgen:InflationReductionActOfTwoThousandTwentyTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_56e66edb-469f-48ab-b8ce-0d631642ceeb"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_24bf06e8-e89a-4731-b3b7-c6fb596229f3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f52d73d5-79c2-4521-af0b-62d744b84c3e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="ecd:IndividualAxis">rgen:OtherDirectorsOrOfficersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_496d84a3-73fe-44c5-8e50-ed839038362a"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8f926fa8-b0ba-41fc-9906-6f65d6efb057"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangedTwoZeroOneNineNotesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1eb6f39f-f060-4fdc-a9c5-951ce53c87f7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-16</xbrli:startDate><xbrli:endDate>2021-09-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8eefe805-faf8-4fd4-a5e8-da6b752961dd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e1e72716-495b-42c4-b383-0caca559d128"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_70d04d82-1744-48f0-8fd0-41937327db0b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ba3f9c5d-4511-4968-9eeb-d6348fadf492"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_89c78e12-5096-4c82-b17c-42e7b33aab48"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputEarnoutDiscountRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_945aa599-c940-445d-9258-07a3bddba11c"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c4bd80fe-9b6a-49e6-924a-af77a3bac3b4"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_154fd8ae-c58a-4c87-9250-bb5df675f1a8"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_23beed10-3ba9-4e9f-b69e-cbd78136e023"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_756eb3ed-ae42-4205-869e-4c89654b3269"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:PfizerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_552cd63f-cd47-4f47-80ac-a57e7b5686a6"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5f2f9205-eb7e-470d-a7d9-d8118fbdda79"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_9f6daf9a-a720-4fa8-ba48-9c6855cb2aff"><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:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_6c317fe5-5e9d-47bb-aa7b-c2c6fb4e8240"><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:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_7b117a89-fef0-4d8f-a2d5-990fbbc276b0"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_714b669d-7f21-41a9-bcf3-63d0d5c97003"><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:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_dcfe37fa-3569-4a2d-ba66-19bca23b7d2b"><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="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4a31f843-73e2-41d8-9985-d95872456ff9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_7acfea58-fa85-414a-9bf0-d1e1d97ee21e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3efdbd7b-4530-4e1b-83f1-bdafb2ce9c5b"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b2d8b952-7fba-4c60-885e-ba7de124cef2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4599201f-18f9-4e94-8b05-0c0498aa84b3"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_135574b0-08dc-4456-b091-456f1c9e4bf5"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f8ad70dd-d6b6-459c-bb62-1666ae84e439"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b37f2dd7-db8d-4564-8490-c13af0a7dc9f"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_afb3bee6-fa66-4b54-b62b-ce77f31cf5ea"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b63785aa-42cf-4b22-99e6-0f65fe08ae7c"><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><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_320c7ca1-e95f-4052-bb17-77c7d630c1ef"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_133fdac5-2a09-4dd2-bf15-45a90d016c48"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a6df805d-7a1c-40ca-945b-fda4c79b5dc7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">rgen:NonExecutiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_dc97e7ca-b3fe-4699-82c8-96257e653e97"><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><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_d1eb03d2-f31a-42b3-8e21-80c5629704f6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">rgen:NonExecutiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_63eb4483-ae33-494a-ab2b-5e4efc3f40b7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">rgen:TaxYear2043Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_835d039c-6216-472b-b309-981960503438"><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:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1b8252bc-f643-40ee-921b-58fa5486df44"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_7f10a22c-c0ff-4a49-9c2a-da2cb0211766"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_93fa3b0f-740e-4330-9016-802a5b90c555"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CapitalUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-16</xbrli:startDate><xbrli:endDate>2021-09-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_02f5fe63-1ce5-472c-93ac-0dde30d0afc7"><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-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_86d4a801-221b-435d-af60-e5bdc7543155"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_778e1d15-858c-4b3b-82ac-6fbd3ad387d6"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9150ef17-9f11-4bce-9b07-26e9ff551c7f"><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><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-07-19</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2ebef10c-1bfd-46c1-869d-5197dd62d60b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">rgen:FairValueOfEmbeddedConversionOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-14</xbrli:startDate><xbrli:endDate>2023-12-14</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_bd13d202-f611-4de3-bb60-de3263a4d425"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b6787db1-52de-4a36-a87c-ee2149a29d57"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="ecd:IndividualAxis">rgen:TonyJHuntMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8e9550b1-18c8-4039-b3a4-5b158816fe0d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_761f2c79-00c2-4771-b63d-c76d4896890d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_59c6cb12-a821-424b-958a-8e1dccd5124a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_dc7d7eec-9f46-46e4-8509-341b45573209"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_291cb55b-5c7d-439f-8a16-3e77d97a2c7e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_fb140d0a-a258-4c33-ac33-c345a08de668"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_82b34f21-90da-4453-bd95-19f7f29b5987"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-09-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0b61efd7-b157-442a-8cb0-f37e8914d5f6"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c0e1b61d-93ad-47b5-afb1-f12cf756b79e"><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="C_7403ed90-12d4-4aa6-b6cb-10512083f740"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_795866f3-e5d4-46f1-9c0d-a007e32e6676"><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:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:PrincipalOwnerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">rgen:SpectrumIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_bd3481cc-2a09-47a2-b563-db968be0bb53"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_717689d5-5087-4a04-aa3f-9f307cf22e1c"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_452c508e-94a8-4d1a-9e28-9bd6a4333ba0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e8c652ba-dc17-4095-b80a-80be283bdfef"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_6b7a8e21-e6f3-4d79-a2c3-b393af8f8a43"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_90f3eb25-6096-41e0-b120-8962a82a3df8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5e52ff09-0c2f-4c4c-8f25-02befc4fc5a6"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_cd267744-c09a-477e-9c64-ffc885fc8422"><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="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_95397cde-e80a-4279-b4e9-cf10f1c35dd3"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_28d5b675-6a40-48a8-8f56-4066b2b4f76d"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_af29254a-97fe-49f0-93bd-b356ee735f3b"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4a24b082-a1cd-44bc-9c96-552f2c2d6f9d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputEarnoutDiscountRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_58feedab-dc67-441a-b45a-d499035a726c"><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><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_96669801-ebb6-4ad9-a641-e8ae7e52f6d2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">rgen:CashAndMoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5b88ea0f-d65a-4455-a649-a2887184dd05"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputProbabilityOfSuccessMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8dd45a8e-8254-41a2-86cd-99c2f5569099"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">rgen:ExchangeTransactionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-14</xbrli:startDate><xbrli:endDate>2023-12-14</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_0dd2b2f7-9e3b-43b9-ba52-85030fbe87ef"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d4226f43-13ba-4627-af05-aec207a83722"><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></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_665dc070-267b-4a44-b0ca-efc6918f42df"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5a22be32-db3c-42fd-ab9d-6ee722fc8e3e"><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:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_15814d3a-48f5-4078-9612-a6b6930af965"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_04f39a08-efdd-4895-a725-28d1badee02f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">rgen:CashAndCashEquivalentsAndMoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e5c95f33-dcff-4103-abae-8ec2de93b51c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4dd94668-6be8-450d-b851-a67c4cecd7a7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-17</xbrli:startDate><xbrli:endDate>2023-04-17</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_6984f321-4383-4253-8341-3fe236da2eea"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5448846c-c54a-4763-93d4-042463ced1c8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-02</xbrli:startDate><xbrli:endDate>2023-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5bb628d8-3f0c-4b65-b4d7-cb6d76ba077e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-11-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1ecbfa2c-bd91-4ef0-984f-d6d67284458b"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d406539c-409d-4fb8-8a6c-ef865014fb4e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b8460d23-6fcb-4f66-aa4c-efa7a3ee889e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0c7acc8a-d233-46a8-ad54-ac82264bf1b7"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_67b31ea2-cbfd-4990-8434-91625653cfff"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b1008982-a0e7-42c3-8ebb-940699378d24"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b361b1da-071c-4210-8a38-ce6b99a79b49"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_141b94da-eb0e-4f0e-a7e2-89f465f22b1b"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e82068f2-f43b-48ab-b2a3-63e250500d98"><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:MetenovaHoldingAbMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_650cddf6-090a-41e3-947f-0d59140023fa"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4d52c185-9ad7-401a-8858-4b968a11b1e8"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c25151a6-90d3-41cb-a88f-808558dea0d0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:OutstandingTwoZeroTwoThreeNotesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_29bee85e-e36e-422a-8cc3-a9f25ff28950"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1d2b9541-4b8e-48fe-be8d-2836e857321f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-03-04</xbrli:startDate><xbrli:endDate>2022-03-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c07ad21f-7a91-41a1-bd55-6c55dcbd0eef"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f59c1d75-93e9-4ae7-b688-2e3a9f1cc4f6"><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="C_6aaa377d-82ea-49a6-a59a-f32b03714b38"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:TwoZeroTwoThreeNotesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a2360a68-4dd0-4945-aacf-ea06efbd68e4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_9db6d393-2562-41fa-8eb6-28e3776b9293"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f1cd9d79-74d1-4139-a63f-c0ab3c265986"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_fcaf8185-006b-4d16-9003-5b9a1ce147bb"><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:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_553852e5-f660-4778-8733-3912cb9ab81e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangedTwoZeroOneNineNotesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_45cbfa90-1a17-4df2-a94b-e3842b34359b"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4a13ef59-11f0-4869-b3ec-6c01866a9203"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:UnvestedOptionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c208151c-fd40-4b9b-a486-b7d76d6e1366"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0ec1caa0-22b9-49be-99f0-24df7920b8e9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputProbabilityOfSuccessMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8876d512-9885-487e-975e-5ffa51ba8df7"><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="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3f2e82ce-7563-4fd3-b05b-7cd5bf3bf433"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_33f5639d-9af1-4153-877c-ae26675dc4f7"><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="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b9353006-1041-419d-bd45-4d2fa466f8f1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_28f41206-0b5a-42aa-821d-020d8aef3341"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangeAndSubscriptionAgreementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_983e3cb9-2df9-4140-b9d8-98b5cf07a14f"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_7d4ebbb7-d121-4795-b40e-b0083e96b933"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangedTwoZeroOneNineNotesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_23e1f1ef-1bb7-4045-8d2b-8d2285005e29"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2b8c7925-9c0b-4ad8-9557-e3d830b96613"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3bba5629-7ed9-481b-801b-a3d769b95b72"><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="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_0855d97c-19d9-40a6-855f-1ec0869199c1"><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><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_bdeb8b5b-0869-4604-8c0c-c230625200d4"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_949bc793-4b1e-4970-8dd2-7c4658280c01"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_843d65d6-c3fc-4289-8c55-0e757f11dd06"><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><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ec338d46-7f43-4052-a518-5dd62b72f6cb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-17</xbrli:startDate><xbrli:endDate>2023-04-17</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_44b46ac1-294b-4ad5-ac75-62384577540b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f3ed50f4-f498-439b-b743-5ff2b3271e83"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_499b340b-2365-4913-9ac4-727e687d9b0f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c793d278-3837-4a4b-b733-7fd7f5b62aab"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="ecd:IndividualAxis">rgen:TonyJHuntMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c6250a31-9f43-4012-8d2c-98cfe33f724f"><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:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d992a0c4-bfe1-4d23-a414-8bcbdc4fb52b"><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:MetenovaHoldingAbMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_62811340-9646-4e62-9963-1943cc281dfe"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ca77aac6-1dd3-4cdc-9e35-19da5b52b9c0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_79056218-50c8-44e2-82c2-3a208471f648"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_921a48f8-4769-4d33-a7a3-7e05610adf24"><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="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_bb1046c0-3b06-490a-8ed0-86c951deed8b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a3f98b1d-782b-4a8c-bf53-5e7ceadda17e"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9b470293-9e77-40c8-bf3d-3b9ff9fbabc6"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_04a162af-d019-45c7-ba8d-785db4be2cc4"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_58a6018f-b731-4a31-9169-e8ac0c4c8e50"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:SubscriptionTransactionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_036177bb-d040-407e-a70e-3659831e4ff4"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4d27362e-a895-4bcf-83da-26cc46043cc9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b1c6e29e-fc05-4e54-b465-6480be4b68f9"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_55f30178-b54f-4159-b1b4-48d6637edd84"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_add2d159-3797-4e29-89a2-b3ec15fb387a"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5df5f282-6844-4791-aeec-092ec52aeb06"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_83869e39-3aef-449d-8cf6-0f4760a4b0eb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_429cb6c7-82dd-45cb-8326-f24b2227ecb5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_629969d7-4fcd-4b75-bca8-a8070fd99748"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_97cd478d-6e58-4d36-ab63-87e2bef5f174"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_efddb8f6-3d84-4fe7-a51c-93eceedade77"><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><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-14</xbrli:startDate><xbrli:endDate>2023-12-14</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_57f35866-0a0e-4f03-9e1f-0e6bfdbe887f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_bba058d3-96b3-4a2e-a279-e906ee963d60"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_89f0b31d-6344-48c2-9f98-eacbb11caa75"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_71e6aab3-4604-4735-b858-235e60fd5929"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_eed78df6-712a-432e-bd6f-f80788220c16"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3ce301fc-07a6-4b1c-b754-765be5af519f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputRevenueVolumeDiscountRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8a2aa44e-1c77-4e9b-b26f-797d45ec5e86"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e2c655d5-4410-4248-981e-81f625c5018a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4204e5f8-1d80-453b-8e14-de8b7089fedb"><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></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_65140819-c846-433b-a0f2-ad0fdc3b1308"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-14</xbrli:startDate><xbrli:endDate>2023-12-14</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3b788741-5d93-4233-bf76-1f8ce2171673"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_32322d77-2667-4a63-8d07-cfba6b2de40b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a79fa7ee-93f3-42d7-bd7e-a948de915877"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3be99d0a-f372-4903-bb6d-f2466e54c75b"><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="srt:MajorCustomersAxis">rgen:PfizerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_546f5e82-5209-4941-bc7b-b127f9248472"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:CashAndCashEquivalentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d75bbd09-118c-44a7-affe-8efb170003a5"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2e331be7-03c9-42af-8c9d-11ce133231f2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">rgen:SubscriptionTransactionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_6a912e51-af00-4572-811e-2b5970f1a018"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_dee2a31b-7253-47c6-9660-f5b5e672b177"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_45b25950-5350-44d6-9095-0f27163c9d66"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2d320bf6-77ac-4821-8714-9c004fb3f74e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_04b246ad-22b7-4909-956d-0b417823517e"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_7033f524-e20c-4e28-a2e1-5b4cac1b4acd"><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></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_dbc99887-a384-479d-a23e-5365e742bd7b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_ab11a2aa-60dc-4803-90bc-c52248d48c95"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_57261171-043d-4a6d-adf8-cf4e5e8cdd09"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a7520188-6414-4a66-b746-38db7ebbf7c9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputPriceVolatilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3de5f0a2-8ee1-4896-a6eb-e9e2e357d07a"><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><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b31196e7-7730-407e-87ad-427e92d47547"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_887930fe-3dd9-43cf-83da-f4b638e9203f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_176c1247-eb2a-4c73-b097-6065fe9c697c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c89c50b0-45e1-46f7-a2a3-d8117bbadd3e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-02-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_79ec1b94-5e13-4664-8016-cda4361247f8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_12185a3c-5d63-40de-9abd-7778ed8450bd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-02</xbrli:startDate><xbrli:endDate>2023-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_26b1e372-ec7e-489c-8354-3fe6947aa5ce"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_523b577f-8694-4c5c-bc9c-89902f8a8f08"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:SubscriptionTransactionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-14</xbrli:startDate><xbrli:endDate>2023-12-14</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_32215449-730e-4fa0-b7ac-781fd5013fdc"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9d8eb4d3-dcb1-4dfe-a7e8-7486f6f981ff"><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>2023-12-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2ce1f9f7-c650-481f-a371-7fac561d3950"><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="srt:StatementGeographicalAxis">rgen:APACOtherMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_826b001f-8995-4dfe-a75f-11bb3ac3fc1a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:SubscriptionTransactionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ef6d10bd-1d94-4091-bb07-caade3c1ab18"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d997f6f8-f5ec-4f58-9e56-a279b563d488"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_479de3ae-4feb-457f-a793-23b9bdffbe18"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_9ad2189e-e69d-4460-9877-8741f4ce6bcd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-06</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_051050a2-02f3-4c31-b83a-ad7771e5b2b5"><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="C_bb1ef129-3ecc-499b-99f2-c42e7b8646f3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_be5ba352-1c27-44a1-ae55-9d65ee21f44a"><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><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:SE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e63149c3-6dce-46a4-8671-9b15fce4a2b7"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8d429b7c-b04a-429e-8930-499fef59f053"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4619b23a-a216-4534-a36b-2e590e473ee9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-14</xbrli:startDate><xbrli:endDate>2023-12-14</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8b504674-e4ca-4879-959d-9ace15ea74ed"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b98a2b3e-73d2-4e3e-ad92-46b13211758b"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f44ebb5b-d0bb-4871-87af-ca9f24e74007"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2f79f48c-a6ef-4e8f-90f6-ded0197ac660"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_fc09c87f-3b2c-4ae1-a049-b2a83a1fa06f"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8e9ef9aa-c8dd-45d5-a8d3-a5cd3db78973"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5a89aa7f-7234-4cfa-82bd-e359c1c57fef"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityAndOtherExitCostsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1ad325f0-3cde-42a7-9403-d3a899ab7b92"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityExitAndOtherExitCostsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_00980794-5d70-4348-a45b-9a5b33cd024e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f5589251-6303-456d-bfb0-5ae13f002dca"><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:context id="C_4da766cd-d426-449c-8270-2b81279ef550"><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="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c6b33d55-7c41-4879-8628-e1b72882aad1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_16ced66a-a0a8-434a-a2c2-3aa9415a3733"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangeTransactionMember</xbrldi:explicitMember><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="C_4d5da0c2-c998-4203-b661-a923d1491869"><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><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityAndOtherExitCostsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f897156f-7cee-4f32-9e8b-aea890a9a4ca"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_0636f0b2-82e8-4d4a-8689-7980ef3c140d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_6805c462-0ef7-4871-88b0-f551c5301d03"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a767d9a8-2ae9-4df1-8795-b40611e450db"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5ad1494d-8984-40f9-a1cb-e139b09e9b9d"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_56a3f80b-d903-4f51-b0b9-abc2078d1a8d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4abc906f-1ca4-41fe-958f-d1895f576d7e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f3e4551d-16c5-41d1-aca4-7a41e0034ab6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_abc6d87e-0b6b-412d-99d2-368b6cead43d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1f4e6754-54ee-4ac5-bcdf-6ee2f3734b0c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4e67a3f1-4977-4011-bde5-d94904a2fa18"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-11-29</xbrli:startDate><xbrli:endDate>2021-11-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2272654c-228a-40b4-950d-0d2fa143ab89"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityAndOtherExitCostsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e8faaed7-6fda-402c-a16e-99d4a4e56b2e"><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:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_43b128f1-047e-4813-bab4-84eb75cde4c5"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f69fe89a-f0fe-4055-88ed-d1817a15cd4d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputEarnoutDiscountRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9ca68910-1653-4e2f-bfcb-c7b84370abec"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_652b42cb-2d66-41fe-9327-e2a4645e1d06"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_accb995c-4abf-4ea5-b6c5-3a74a0b46bd8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d405691e-519f-4635-8348-61273f0c93b0"><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:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:CustomerNumberOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_823e817c-1120-41c0-8f87-43cc3bca6990"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_fc61bcb4-5f09-45af-931a-1be17723fb6a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_976715c7-5544-4187-9405-cd13f1b2793b"><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:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4047a929-48bd-4b7f-ab2c-422de8b51ffc"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_720ee9a7-f328-4954-89d0-db33b1176580"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_760d4e33-c9bb-413f-89b2-29e4e3d8ab51"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputProbabilityOfSuccessMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8e9549bb-d861-4e1b-8c16-7f3c53871517"><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>2023-10-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_df2039f8-84a3-429c-a66d-8e1ad1765af9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2e432de0-16fc-4fd7-ae86-741fd451fa1d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1d4659d2-c3f5-4a48-8cda-dee4ef869001"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">rgen:FurnitureFixturesAndOfficeEquipmentMemberMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_88e1120d-11cc-4358-bc17-de14ebe14017"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3dce753b-6100-443a-8dda-9eb651378f62"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-06-22</xbrli:startDate><xbrli:endDate>2021-06-22</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_efda8109-3ef1-45fa-b367-221c2fff8a2f"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3e29d7b6-1365-41b8-bbda-785796d1e6b6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4a4d4bcf-dc88-4a65-8d52-52776bd62409"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ab61df74-eb80-464e-a4c7-9da2cadbc855"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0fa4207c-bb1e-415c-8980-63f2a52c720f"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_318058e4-eefd-48fc-9c45-d35a613913ff"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_49349e53-b04d-4615-92ad-de5a82724747"><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="srt:MajorCustomersAxis">rgen:PfizerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_07e86b36-118b-45f6-adaf-e4bf5d62364c"><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:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:PuroliteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_aa0933a1-5cea-46e0-b809-dbe79ee2c2b8"><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:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:CustomerNumberOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_cb61d3f6-bd99-4568-99e1-9f1c180df1bf"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_04a7b57c-8c1a-4007-b961-615aab61ee62"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b8d7f7de-d986-4719-b42a-741c446186e7"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_269e5895-414f-4f10-a1b6-ed25f4fe70f5"><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="srt:StatementGeographicalAxis">rgen:APACOtherMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_0a0c86ba-c334-41b2-bcc0-4dbd40d7f5b8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:TwoZeroTwoThreeNotesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_cd410ac8-bf8e-4911-9492-75c2d820a275"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_cc029464-b385-49cb-9e56-b4628acc7d0a"><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="C_76b0becf-00cf-4745-b3a9-ee1d2ad42d5c"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_18f978c9-ddec-486d-945d-0074a86a8918"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a881087b-1778-4ff1-8f7d-f854d11d166f"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_bc05f12f-1d3d-467b-a871-ab4a3a2788b9"><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>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4016e51f-a392-49c5-9c26-e9ddedab261e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_9011b1f0-543e-44f7-aa9b-706c7c794f92"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3fe4a608-1d4f-468c-8b33-9b8b5681611f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">rgen:ComputerHardwareAndSoftwareMemberMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2b50fe49-16f6-46b5-86a3-05390f7f77d9"><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="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_753a94c8-7ff4-491a-9a71-4555722dc47e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:NotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_150e519b-39a6-4239-bf63-7e5d43c982be"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3198d594-eada-4d09-8f2f-510d5cafcc74"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8c938ea9-304b-4311-99e3-3e2734dbbb32"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">us-gaap:ResearchAndDevelopmentArrangementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:NGLImpactAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="U_UnitedStatesOfAmericaDollarsShare"><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="U_pure"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="U_sqft"><xbrli:measure>utr:sqft</xbrli:measure></xbrli:unit><xbrli:unit id="U_shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="U_Segment"><xbrli:measure>rgen:Segment</xbrli:measure></xbrli:unit><xbrli:unit id="U_Sites"><xbrli:measure>rgen:Sites</xbrli:measure></xbrli:unit><xbrli:unit id="U_Days"><xbrli:measure>rgen:Days</xbrli:measure></xbrli:unit><xbrli:unit id="U_USD"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="U_ReportingUnit"><xbrli:measure>rgen:ReportingUnit</xbrli:measure></xbrli:unit><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_08d7ab55-8a98-4fca-9059-6d00b6e7c5da" fromRefs="F_b42f939a-afb3-44d0-b885-18b00aee0c42 F_41ae403b-8eed-40d6-9d24-738bd7b5f54b F_d1c02801-69d6-4cd9-b0f7-f09c531422ce"></ix:relationship><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_561a82d8-d7a8-437a-b6cd-97d08633661d" fromRefs="F_6778190e-e6e1-441b-a728-bd975f2fb93b F_9f975e29-63b4-4dea-a75b-e358d0b3bb45 F_a593e441-e4f3-42dd-99bb-cab29fb4e7fd F_5a0e7162-6c91-4eef-96e9-8253c9d7d4f5 F_c53deb8c-c6c9-42a9-aadc-f665ee810e35 F_42c86271-3235-4e59-a758-ef673ccb9297"></ix:relationship><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2" fromRefs="F_c7eb62cc-8eef-40c9-87e4-4b07dcd143dd F_0771b9ca-4958-42b5-8f4b-754db30bae64 F_4471f9a5-c655-414c-8fb1-95f24e752b49 F_6cb640a5-9802-4420-9a89-8eb136be720d F_b18771ea-f0e3-413a-81ff-6dad36e25bb9 F_9480f985-4619-4b5e-9a6a-b139d8a302d0 F_b231767e-964e-44c8-882c-1bc03546f44c"></ix:relationship><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_0aaa5cdb-d79f-425b-b2a3-10c61e327eec" fromRefs="F_aa3486e6-96b3-4758-83e4-67b320528ac3"></ix:relationship><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_2f0ab321-a7d8-40c1-89e1-5b173d5c5c84" fromRefs="F_91e18973-a12d-4882-9a86-aa51ac55eba7 F_a27f812f-2426-4cda-aab5-2c38a908b3fd F_021aad2b-4a49-4225-be99-7fa2953ad116 F_4617d6da-ecc9-4558-811b-1c41db4c8d77"></ix:relationship><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_a32fe0b9-91d3-43d9-bdc3-923f89cad0b3" fromRefs="F_21831b06-7b50-4441-b058-e4a70c89b813 F_8763b94a-297a-4ef3-91ad-5f476a4e6c6a"></ix:relationship></ix:resources></ix:header></div>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:1pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="border-top:2.25pt double;padding-top:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:4pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:13.5pt;font-family:Times New Roman;min-width:fit-content;">UNITED STATES</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:13.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:13.5pt;font-family:Times New Roman;min-width:fit-content;">SECURITIES AND EXCHANGE COMMISSION</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:13.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:9.5pt;font-family:Times New Roman;min-width:fit-content;">Washington, D.C. 20549</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:9.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="margin-left:40%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:13.5pt;font-family:Times New Roman;min-width:fit-content;">FORM </span><span style="font-size:13.5pt;font-family:Times New Roman;"><ix:nonNumeric id="F_e94194fc-e5b1-4c18-aa19-7e5c0d4a6e0f" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:DocumentType"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:13.5pt;font-family:Times New Roman;min-width:fit-content;">10-K</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:13.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="margin-left:40%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:4%;"/>
    <td style="width:96%;"/>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:9.5pt;"><ix:nonNumeric id="F_1ab018f6-8a29-4dcc-a807-991eecb4b8b4" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:DocumentAnnualReport" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#9746;</span></ix:nonNumeric></span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;"><p style="font-size:9.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">For the fiscal year ended</span><span style="font-size:8.5pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ef56c490-166c-4fbf-8564-f08689052e81" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">December 31, </span><span style="font-size:8.5pt;font-family:Times New Roman;"><ix:nonNumeric id="F_187f04df-e5e3-4d43-bbef-7ca5403e3c29" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:DocumentFiscalYearFocus"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">2023</span></ix:nonNumeric></span></ix:nonNumeric></span></p>
  <p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">OR</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:4%;"/>
    <td style="width:96%;"/>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:9.5pt;"><ix:nonNumeric id="F_c50efcb8-fe2c-4af3-8a6a-0b53d93fb544" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:DocumentTransitionReport" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;"><p style="font-size:9.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">For the transition period from                      to</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">                      </span></p>
  <p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">Commission File Number </span><span style="font-size:8.5pt;font-family:Times New Roman;"><ix:nonNumeric id="F_d89cf10e-f1c0-4260-aa17-e202fb9e07ce" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:EntityFileNumber"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">000-14656</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="margin-left:40%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:20pt;font-family:Times New Roman;"><ix:nonNumeric id="F_545402d6-41b8-4fbf-b796-036edc4bff9b" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:EntityRegistrantName"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:20pt;font-family:Times New Roman;min-width:fit-content;">REPLIGEN CORP</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:20pt;font-family:Times New Roman;min-width:fit-content;">ORATION</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:20pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;">(Exact name of registrant as specified in its charter)</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="margin-left:40%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:6pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:50.06%;"/>
    <td style="width:49.94%;"/>
   </tr>
   <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8pt;"><ix:nonNumeric id="F_90907ed2-68a1-4152-90c3-5d0494898b26" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Delaware</span></ix:nonNumeric></span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8pt;"><ix:nonNumeric id="F_1aaad1b7-c53b-4a8e-a753-4e32fc4f423b" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:EntityTaxIdentificationNumber"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">04-2729386</span></ix:nonNumeric></span></p></td>
   </tr>
   <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(State or other jurisdiction of</span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">incorporation or organization)</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(I.R.S. Employer</span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Identification No.)</span></p></td>
   </tr>
   <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8pt;"><ix:nonNumeric id="F_4b2ed140-c482-4633-8c8e-6ad90088585f" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:EntityAddressAddressLine1"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">41 Seyon Street, Bldg. 1, Suite 100</span></ix:nonNumeric></span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="font-size:8pt;"><ix:nonNumeric id="F_7f1e31b9-c88c-423c-9ea4-2dba5203c6ad" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:EntityAddressCityOrTown"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Waltham</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;min-width:fit-content;">, </span><span style="font-size:8pt;"><ix:nonNumeric id="F_76c21aed-c0f9-46ef-8b35-4b4b0ab59a83" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:EntityAddressStateOrProvince"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">MA</span></ix:nonNumeric></span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8pt;"><ix:nonNumeric id="F_3375b3f8-0199-47f6-8cc0-01bf61c2b5d8" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:EntityAddressPostalZipCode"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">02453</span></ix:nonNumeric></span></p></td>
   </tr>
   <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Address of principal executive offices)</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Zip Code)</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Registrant&#8217;s telephone number, including area code: (</span><span style="font-size:8pt;font-family:Times New Roman;"><ix:nonNumeric id="F_97e66524-cce4-4eda-bb10-9316fbb31bc2" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:CityAreaCode"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">781</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">)</span><span style="font-size:8pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ee1958fe-954b-43ec-843c-0dc0b89110d0" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:LocalPhoneNumber"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> 250-0111 </span></ix:nonNumeric></span><span style="font-size:8pt;font-family:Times New Roman;"></span></p>
  <p style="margin-left:40%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Securities registered pursuant to Section 12(b) of the Act:</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:6pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:38.04%;"/>
    <td style="width:21.76%;"/>
    <td style="width:40.2%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Title of each class</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Trading Symbol(s)</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Name of each exchange on which registered</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:8.5pt;"><ix:nonNumeric id="F_83f8d4a1-f5c4-4f55-8605-580c915d53a7" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:Security12bTitle"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Common Stock</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;min-width:fit-content;">, par value $0.01 per share</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8.5pt;"><ix:nonNumeric id="F_fbe802e9-8a0b-4c0a-b81d-d573f7be5569" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:TradingSymbol"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">RGEN</span></ix:nonNumeric></span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8.5pt;"><ix:nonNumeric id="F_a49d8f6f-475b-4774-8cce-9b398cbde361" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">The Nasdaq Global Select Market</span></ix:nonNumeric></span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:6pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Securities registered pursuant to Section 12(g) of the Act: None</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="margin-left:40%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:2pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.   </span><span style="font-size:7.5pt;font-family:Times New Roman;"><ix:nonNumeric id="F_0f5ea2aa-90ff-4c55-9878-a6325cfcd982" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:EntityWellKnownSeasonedIssuer"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;"> Yes </span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;"> &#9746;    No  &#9744;.</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.    Yes  &#9744;   </span><span style="font-size:7.5pt;font-family:Times New Roman;"><ix:nonNumeric id="F_31d42ddd-2c9f-4b90-aa46-b21c237b8d7d" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:EntityVoluntaryFilers"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;"> No</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">  &#9746;.</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">Indicate by checkmark whether the registrant (1) has 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 the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.    </span><span style="font-size:7.5pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ba547865-c272-438a-823e-92235aa9563a" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:EntityCurrentReportingStatus"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">Yes </span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;"> &#9746;    No  &#9744;.</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">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 months (or for such shorter period that the registrant was required to submit such files).    </span><span style="font-size:7.5pt;font-family:Times New Roman;"><ix:nonNumeric id="F_9db96e32-3451-4b09-9dd4-93ccae02ded6" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:EntityInteractiveDataCurrent"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">Yes</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">  &#9746;    No  &#9744;.</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:6pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:16.92%;"/>
    <td style="width:60.2%;"/>
    <td style="width:20.08%;"/>
    <td style="width:2.8%;"/>
   </tr>
   <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:8pt;"><ix:nonNumeric id="F_e38ce159-da68-4c10-9361-0f56b80e247a" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Large accelerated filer</span></ix:nonNumeric></span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#9746;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accelerated filer</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#9744;</span></p></td>
   </tr>
   <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-accelerated filer</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#9744;</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Smaller reporting company</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:8pt;"><ix:nonNumeric id="F_72ad9a3e-3d01-413a-abd5-ddb04d69b77a" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:EntitySmallBusiness" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span></p></td>
   </tr>
   <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;">
    <td style="padding-left:0.1in;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Emerging growth company</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:8pt;"><ix:nonNumeric id="F_eb254311-2c99-4184-9a35-0961bd014abf" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span></p></td>
   </tr>
  </table>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.    Yes  &#9744;    No  &#9744;.</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">Indicate by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.  </span><span style="font-size:7.5pt;font-family:Times New Roman;"><ix:nonNumeric id="F_64a195d3-9704-405e-a0ab-e9f47978ab83" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:IcfrAuditorAttestationFlag" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">&#9746;</span></ix:nonNumeric></span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements.   </span><span style="font-size:7.5pt;font-family:Times New Roman;"><ix:nonNumeric id="F_00188e5a-7260-4df3-8ddf-ad1d9b5cfc68" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:DocumentFinStmtErrorCorrectionFlag" format="ixt:fixed-false"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant's executive officers during the relevant recovery period pursuant to </span><span style="color:#231f20;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#167;240.10D-1(b). </span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:'Segoe UI Symbol',sans-serif;min-width:fit-content;">&#9744;</span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act).    Yes  &#9744;    No </span><span style="font-size:7.5pt;font-family:Times New Roman;"><ix:nonNumeric id="F_945c341a-db66-447a-8863-2521ce1e109a" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:EntityShellCompany" format="ixt:fixed-false"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;"> &#9746;. </span></ix:nonNumeric></span><span style="font-size:7.5pt;font-family:Times New Roman;"></span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">The aggregate market value of the voting and non-voting common equity held by non-affiliates as of June 30, 2023, the last business day of the registrant&#8217;s most recently completed second fiscal quarter, was $</span><span style="font-size:7.5pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2b9eb9ed-0fe4-486d-bbb6-ce3578939724" contextRef="C_f3ed50f4-f498-439b-b743-5ff2b3271e83" name="dei:EntityPublicFloat" unitRef="U_USD" decimals="0" format="ixt:num-dot-decimal">6,931,847,028</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">The number of shares of the registrant&#8217;s common stock outstanding as of February 16, 2024, was </span><span style="font-size:7.5pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_868c67ad-b2c3-47d7-98f9-70400df7096f" contextRef="C_c89c50b0-45e1-46f7-a2a3-d8117bbadd3e" name="dei:EntityCommonStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,771,075</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="font-size:8pt;font-family:Times New Roman;"><ix:nonNumeric id="F_f5cbbdef-1b5d-448b-8a31-554f87410b8e" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:DocumentsIncorporatedByReferenceTextBlock" escape="true"><p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Documents Incorporated By Reference</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">The registrant intends to file a proxy statement pursuant to Regulation 14A within 120 days of the end of the fiscal year ended December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">. Portions of such proxy statement are incorporated by reference into Part III of this Annual Report on Form 10-K.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:6pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:32.66%;"/>
    <td style="width:28.98%;"/>
    <td style="width:38.36%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Auditor Firm Id</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Auditor Name</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Auditor Location</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8.5pt;"><ix:nonNumeric id="F_2a99030c-1934-4c75-9ca2-8600ffeb3048" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:AuditorFirmId"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">42</span></ix:nonNumeric></span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8.5pt;"><ix:nonNumeric id="F_4dd34663-9f4a-4af4-acf8-5043a852d255" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:AuditorName"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Ernst &amp; Young LLP</span></ix:nonNumeric></span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:8.5pt;"><ix:nonNumeric id="F_8e4ecfe4-f4c6-4348-9688-adb457530f81" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="dei:AuditorLocation"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Boston, Massachusetts, United States</span></ix:nonNumeric></span></p></td>
   </tr>
  </table>
  <p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:2.25pt double;text-align:left;"><span style="white-space:pre-wrap;font-size:4pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:1pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Table of Contents</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:10.58%;"/>
    <td style="width:82.42%;"/>
    <td style="width:7%;"/>
   </tr>
   <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;border-bottom:0.5pt solid;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">PAGE</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#forwardlooking_statements"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Forward-looking Statements</span></a><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1</span></p></td>
   </tr>
   <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;text-align:center;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#part_i"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">PART I</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 1.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_1_business"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Business</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 1A.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_1a_risk_factors"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Risk Factors</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 1B.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_1b_unresolved_staff_comments"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Unresolved Staff Comments</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 1C.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_1c_cybersecurity"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Cybersecurity</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 2.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_2_properties"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Properties</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 3.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_3_legal_proceedings"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Legal Proceedings</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 4.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_4_mine_safety_disclosures"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Mine Safety Disclosures</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35</span></p></td>
   </tr>
   <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;text-align:center;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#part_ii"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">PART II</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">36</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 5.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_5_market_for_registrants_common_equ"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">36</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 6.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_6_reserved"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">[Reserved</span></a><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">]</span></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">38</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 7.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_7_managements_discussion_analysis_f"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></a><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">39</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 7A.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_7a_quantitative_qualitative_disclos"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Quantitative and Qualitative Disclosures About Market Risk</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 8.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_8_financial_statements_supplementar"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Financial Statements and Supplementary Data</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 9.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_9_changes_in_disagreements_with_acc"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure</span></a><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 9A.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_9a_controls_procedures"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Controls and Procedures</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 9B.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_9b_or_information"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Other Information</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">59</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 9C.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_9c"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">59</span></p></td>
   </tr>
   <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;text-align:center;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#part_iii"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">PART III</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">60</span></p></td>
   </tr>
   <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;text-align:center;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#part_iv"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">PART IV</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">61</span></p></td>
   </tr>
   <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;text-align:center;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 15.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_15_exhibits_financial_statement_sch"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Exhibits and Financial Statement Schedules</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">61</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Item 16.</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_16_10k_summary"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">10-K Summary</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">64</span></p></td>
   </tr>
   <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;">
    <td colspan="2" style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;text-align:center;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td colspan="2" style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#signatures"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">SIGNATURES</span></a><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Summary of the Material Risks Associated with Our Business</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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:</span></p>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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, supply chain issues and/or disruption, and our ability to effectively penetrate the bioprocessing products market.</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The market may not be receptive to our new bioprocessing products upon their introduction.</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our results of operations could be negatively affected by potential fluctuations in foreign currency exchange rates.</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our corporate restructuring and the associated headcount reduction may not result in anticipated savings, could result in total costs and expenses that are greater than expected which could disrupt our business.</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">If we are unable to continue to hire and retain skilled personnel, then we will have trouble developing and marketing our products.</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">If we are unable to obtain, maintain and protect our intellectual property rights related to our products, we may not be able to succeed commercially.</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Climate change, climate change-related regulation and sustainability concerns could adversely affect our businesses and the operations of our subsidiaries, and any actions we take or fail to take in response to such matters could damage our reputation.</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Natural disasters, geopolitical unrest, war, terrorism, public health issues, the ongoing conflicts between Russia and Ukraine and Israel and Palestine, or other catastrophic events could disrupt the supply, delivery or demand of products, which could negatively affect our operations and performance.</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">i</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="forwardlooking_statements"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FORWARD-LOOKIN</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">G STATEMENTS</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 27A of the Securities Act of 1933, as amended, (the &#8220;Securities Act&#8221;) and Section 21E of the Securities Exchange Act of 1934, as amended. 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="part_i"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">PART</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> I</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_1_business"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 1. B</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">USINESS</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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 10-K (&#8220;Form 10-K&#8221;).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Overview</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As the overall market for biologics continues to grow and expand, our primary customers &#8211; global biopharmaceutical companies, contract development and manufacturing organizations and other life science companies (integrators) &#8211; face critical production cost, capacity, quality and time pressures. Built to address these concerns, our products help 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;) and mAb derivatives, recombinant proteins, vaccines, and cell and gene therapies (&#8220;C&amp;GT&#8221;) &#8211; that are improving human health worldwide. Increasingly, our technologies are being implemented to overcome challenges in processing plasmid DNA (a starting material for the production of mRNA) and gene delivery vectors such as lentivirus and adeno-associated viral vectors.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 40 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our corporate headquarters are located in Waltham, Massachusetts, with additional administrative and manufacturing operations worldwide. The majority of our 19 manufacturing sites and assembly centers are located in the United States (California, Massachusetts, New Hampshire, New Jersey, New York and Texas). Outside the United States, we have sites in Estonia, France, Germany, Ireland, the Netherlands and Sweden. Our primary warehouse and distribution centers are located in Massachusetts and California.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our Products</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our bioprocessing business is comprised of four main franchises: filtration (including fluid management); chromatography; process analytics; and proteins.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Since 2012, we have purposely built a highly diversified portfolio of products offered under these franchises, developing high-value technologies that enable more efficient drug manufacturing processes for our customers, through internal research and development (&#8220;R&amp;D&#8221;) programs and strategic acquisitions. We are committed to sustainable innovation and have earned a reputation as an innovation leader in bioprocessing. We have consistently introduced disruptive new products that solve for specific bioprocessing challenges faced by customers. Our growth strategy continues to expand our geographic scope and customer base and broaden the applications of our technologies.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">To support our sales goals for these products, we make ongoing investments in our commercial organization, our R&amp;D programs, our business systems and our manufacturing capacity. We regularly evaluate and invest in these areas as needed to ensure timely deliveries and to stay ahead of customer demand for our products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The majority of our revenue is derived from consumable and/or single-campaign (&#8220;single-use&#8221;) product sales, as compared to associated hardware and 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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Shifting to Integrated Solutions</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Since 2012, we have completed 13 acquisitions across our four franchises, building a base of technology assets that we can improve upon and/or develop next-generation versions of through our internal R&amp;D team. Our acquisition strategy is purposeful, considering the potential for integration with our internally-developed technologies, and across products and franchises.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, the results of our mergers and acquisitions and R&amp;D efforts are reflected in our ability to offer more integrated solutions across the bioproduction workflow. Our commercial approach is shifting from &#8220;individual product&#8221; to &#8220;whole system&#8221; sales that can support entire unit operations, the management of fluids between unit operations, and in-line advanced analytics. For example, providing filtration systems for production and harvest steps (upstream), and connecting those to chromatography and filtration systems for purification and formulation steps (downstream).</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Key Products Within Each of Our Franchises</span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FILTRATION</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Filtration is our largest franchise with the broadest product offering covering upstream and downstream technologies. Below is a description of some of our key products:</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">XCell ATF</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cell Retention Systems</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 ATF systems are used in upstream perfusion (continuous) and N-1 (intensified fed-batch or hybrid perfusion) cell culture processing.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, we introduced next-generation XCell</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Large-Scale controllers, enabling increased process intensification through dual-operation of ATF devices from a single controller, and through advance monitoring and control of flow rates with smart sensor</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">technology. Our ATF large-scale controllers are designed for scalability from bench top to commercial manufacturing, and for versatility of applications, including perfusion and modified fed-batch (N-1) manufacturing.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Tangential Flow Filtration Consumables</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our TangenX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> product portfolio includes flat sheet (&#8220;FS&#8221;) tangential flow filtration (&#8220;TFF&#8221;) cassettes that are used primarily in downstream, ultrafiltration processes, e.g., biologic drug concentration, buffer exchange and formulation processes, our single-use SIUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> line, including our reusable PRO line of cassettes, providing customers with a high-performance, cost saving alternative to other companies' TFF cassette offerings and our TangenX SC Device, the industry's first holder-free, self-contained (&#8220;SC&#8221;) TFF device, which was launched in November 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. Our TangenX FS TFF cassettes feature high performing-membrane chemistries that offer superior selectivity for a wide range of applications. A controlled manufacturing process that balances flux and selectivity delivers maximum flux for increased productivity and tight control of the membrane pore size for enhanced selectivity and recovery. Each single-use cassette is delivered pre-sanitized and ready to be equilibrated and used for tangential flow, ultrafiltration and diafiltration applications.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. For process economics requiring reusable cassettes, TangenX PRO cassettes are available with the same high performance membranes used in SIUS cassettes. Our TangenX cassettes are interchangeable with filter hardware from multiple manufacturers, simplifying customer trial and adoption. In 2020, we introduced SIUS Gamma single-use device, which we engineered to harness the performance and efficiencies of TangenX SIUS membranes and cassettes, while also providing the convenience of a fully assembled, aseptically closed and gamma-irradiated, sterile device. The device is delivered as a single unit composed of the cassette, fluid manifold, clamps, tubing and aseptic connectors. The SIUS Gamma device is ideal for adenovirus C&amp;GT and other processes where large volumes need to be concentrated in a sterile, closed environment.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our TangenX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> SC Device simplifies and streamlines downstream flat sheet UF/DF processes by reducing set up time by 80%, eliminating holders and torquing requirements which reduces the risk of product loss caused by changes in compression or cassette misalignment during installation, allowing users to seamlessly transition from traditional cassettes and reducing bioburden risk and enhancing safety because it is aseptically closed and gamma irradiated and isolates operators from potentially hazardous materials.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Tangential Flow Filtration Systems: KrosFlo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">TFF</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our KrosFlo systems for TFF combine significant configurability with premium quality manufacturing. Our TFF systems are designed for scalability from small to large (up to 5,000 liters) volumes, flexibility between HF and FS filter formats, and the ability to use the same system in different unit operations while deploying ready-to-use application-specific flow paths.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our KrosFlo TFF systems are turnkey solutions for TFF, offered with either TangenX FS cassettes or with our HF filters.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">KrosFlo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Flat Sheet TFF Systems</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our 2020 acquisition of ARTeSYN Biosolutions Holdings Ireland Limited (&#8220;ARTeSYN&#8221;) enabled us to develop and market KrosFlo RS TFF systems that integrate our consumable and equipment offering, providing greater convenience and efficiency for our customers.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We launched our KrosFlo RS 20 series systems in 2022, focusing their use in mRNA and C&amp;GT therapy applications, where they are used primarily in downstream formulation. These responsive TFF systems completely automate sanitization, concentration and product recovery processes. The combination of injection molded tubing, over-molded connectors and valve blocks significantly lowers product hold-up volume to maximize product recovery. With the same software, hardware, controls and cGMP compliance built into every system, and with pre-assembled flow kits for error-free installation, the KrosFlo RS platform offers operational</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">simplicity that can easily be scalable from lab- through production-scale use. KrosFlo FS systems integrate over 10 components with specifications to process volumes between 140 milliliters and 500 liters.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">KrosFlo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Hollow Fiber TFF Systems</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our filtration business is strengthened by a leading portfolio of Spectrum</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">HF filtration solutions, including fully integrated KrosFlo TFF systems with Konduit automated process monitoring and ProConnex</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Flow Path single-use assemblies. The KrosFlo family of HF TFF systems integrate multiple components with specifications to process volume between 2 milliliters and 5,000 liters &#8211; from lab-scale through commercial manufacturing.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In early 2023 we introduced our RS 30 series of KrosFlo TFF systems, featuring increased automation capabilities. The RS 30 series systems integrate a single-use tulip tank re-circulation vessel, which allows for dynamic control and response to changing fluid levels for maximum product recovery in fed-batch, batch concentration and diafiltration processes. The cGMP compliant, fully automated 1/2 inch single-use TFF system delivers outstanding performance in a small footprint. In alignment with our integrated systems strategy, the system includes ProConnex flow paths to integrate advanced fluid management technologies including overmolded connections, pump heads, tubing filters and sensors in a single-use device. Flow paths easily attach to the system to simplify operation and increase process efficiency.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">    </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Tangential Flow Depth Filtration Systems: KrosFlo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:7.37pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> TFDF</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We believe our KrosFlo Tangential Flow Depth Filtration (&#8220;TFDF&#8221;) systems, have the potential to disrupt and displace traditional upstream harvest clarification operations. The KrosFlo TFDF system includes control hardware, novel high throughput tubular depth filters and ProConnex TFDF 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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Strengthening our Filtration Franchise through Acquisitions</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">With our acquisition of Polymem S.A. (&#8220;Polymem&#8221;) on July 1, 2021, we further expanded our HF membrane and module production capabilities and added core R&amp;D, engineering and production expertise in HF technology for both industrial and bioprocessing markets. The Polymem business complements our Spectrum HF product line, which includes KrosFlo HF TFF systems and ProConnex fluid management. The acquisition of Polymem accelerated our HF manufacturing buildout and added a Europe-based HF manufacturing center of excellence.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">With our acquisition of BioFlex Solutions LLC (&#8220;BioFlex&#8221;) and Newton T&amp;M Corp. (&#8220;NTM&#8221;) on December 16, 2021, we complemented and expanded our filtration franchise, as both BioFlex and NTM focus on single-use fluid management components, including single-use clamps, adapters, end caps and hose assemblies. These products are essential components in our upstream and downstream product offerings &#8211; especially our systems with line-sets and flow paths. These acquisitions streamline and increase our control over many components in our single-use supply chain, which ultimately should drive reduced lead-times for our customers in the coming years.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We acquired FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) on April 17, 2023, further complementing and expanding our fluid management portfolio of offerings with its expert design and custom manufacturing of single-use bioprocessing products and a comprehensive range of products that include bioprocessing bags, bottles, and tubing assemblies.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">With our acquisition of Metenova Holding AB (&#8220;Metenova&#8221;) on October 2, 2023, we strengthened our fluid management portfolio with the addition of magnetic mixing and drive train technologies that are widely used by global biopharmaceutical companies and contract development and manufacturing organizations.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 mAbs, vaccines, recombinant proteins and C&amp;GT.</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CHROMATOGRAPHY</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> pre-packed column (&#8220;PPC&#8221;) product line.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition to OPUS, with our acquisition of ARTeSYN in 2020, we added chromatography systems to our offerings, providing greater flexibility and market opportunity as we scale and expand our systems portfolio.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Additional chromatography products include our affinity capture resins, such as CaptivA</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.695pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Protein A resins, which 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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">OPUS Pre-Packed Columns</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 C&amp;GT.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition to our larger scale OPUS columns, our portfolio includes our smaller-scale OPUS columns, including our RoboColumn</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, MiniChrom</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and ValiChrom</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">KRM</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#153; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Chromatography Systems</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Through our acquisition of ARTeSYN in 2020, we gained state-of-the-art, configurable chromatography systems that can integrate a wide range of hardware, components and consumable products to simplify bioprocessing operations for our customers.  Our KRM chromatography systems are precision engineered for high product recovery (low hold-up volumes), high bioactivity (less stress on the product of interest) and reduced risk of deviation (simple changeovers and pre-assembled flow kits). The KRM systems contain closed single-use flow paths (less risk of contamination and product loss) and other advanced fluid management technologies (over-molded connectors, pump heads, filters and pressure sensors), intuitive software and our process analytics technology enabled.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">PROCESS ANALYTICS</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">SoloVPE</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Device</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our SoloVPE slope spectroscopy system is the industry standard for offline and at-line absorbance measurements for protein concentration determination in process development, manufacturing and quality control settings.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">6</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">FlowVPE</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Device</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">FlowVPX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> System</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FlowVPX slope spectroscopy system is our next-generation FlowVPE launched at the beginning of 2021 and designed to meet the rigors of regulatory GMP requirements. FlowVPX offers reliable real-time results with integrated ease for concentration measurements during every stage of the downstream GMP-compliant production-scale biologics manufacturing.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Use of 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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">KrosFlo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> RPM</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#153;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Systems with integrated FlowVPX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Technology</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2022, we completed the development of a HF system that combines KrosFlo TFF with FlowVPX Real-Time Process Management (&#8220;RPM&#8221;</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">) technology, enabling &#8220;walk-away automation&#8221; of downstream UF/DF processes. Toward the end of 2022, we launched KrosFlo DR2i RPM for low-volume, high concentration applications. This was the first-to-market TFF system to incorporate real-time process monitoring for in-line protein concentration management. By coupling KrosFlo TFF and FlowVPX functionality, customers can benefit from improved process control and efficiency, while reducing process risk by ensuring accurate concentration throughout the TFF process.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">KrosFlo RPM systems monitor concentration during UF/DF runs without having to depend on mass inputs and off-line fixed pathlength UV-Vis spectrophotometers. Risk is further mitigated with fully enclosed ProConnex custom flow paths as a part of the automated TFF process.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Since the debut of the KrosFlo KR2i RPM (2 mL-15L) system, we expanded the KrosFlo RPM offering, introducing KrosFlo FS-15 RPM (150mL-15L) toward the end of 2023. The portfolio continues to expand to cover a wide range of volumes from lab-to production-scale requirements. We believe KrosFlo RPM solutions provide key process insights to users to reduce cycling time and minimize batch risks, both highly value attributes for bioprocessing users.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">   </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Culpeo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">QCL-IR Liquid Analyzer</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Pursuant to a 15-year license agreement that we entered into with DRS Daylight Solutions, Inc. (&#8220;Daylight&#8221;) in September 2022, we obtained the exclusive right to use Daylight's quantum cascade laser technology (&#8220;QCL&#8221;), including its Culpeo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">QCL-IR Liquid Analyzer (&#8220;Culpeo&#8221;) specifically in the field of bioprocessing. Culpeo is a compact, intelligent spectrometer that uses the power of QCL to analyze and identify chemicals. Our in-licensing of these rights complements our existing process analytics franchise. Adding mid-IR (higher sensitivity QCL-IR) to UV spectroscopy, we believe this will serve to accelerate and expand adoption of off-line and in-line process monitoring in the bioprocessing industry. Additionally, we are focused on expanding the QCL portfolio, with plans to integrate these solutions into our chromatography and filtration systems.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">                                                                                                                                                                                                                                                                                  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">PROTEINS</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our proteins franchise is represented by our Protein A affinity ligands and viral vector affinity ligands and resins. Our proteins franchise also includes 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Protein A Affinity Ligands</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are a leading provider of Protein A affinity ligands to other life sciences companies (integrators), whose final products are Protein A resins. 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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">long-term supply agreements with major life sciences companies including Cytiva (a standalone operating company owned by Danaher Corporation), MilliporeSigma and Purolite, an Ecolab Inc. company (&#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 the other in Waltham, Massachusetts.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Protein A chromatography resins are considered the industry &#8220;gold standard&#8221; 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our Affinity Ligand Collaborations</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> A, to Purolite, for use with their Praesto</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Jetted A50 Protein A resin product.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In September 2021, the Company and Navigo successfully completed co-development of a novel affinity ligand that addresses aggregation issues associated with pH sensitive antibodies and Fc-fusion proteins. We are manufacturing and supplying this ligand, NGL-Impact</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> HipH, to Purolite for use in a platform use resin product.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have a long-term supply agreement with Purolite for NGL-Impact and potential additional affinity ligands that may advance from our Navigo collaboration.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our Purolite Agreement</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In October 2022, we extended our long-term supply agreement with Purolite through 2032 and broadened its scope to include affinity ligands targeting antibody fragments in addition to those targeting mAbs and Fc-fusion proteins. This extension and product line expansion aligns with our Proteins strategy and supports the acceleration in market adoption of the Praesto</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">affinity resin portfolio. It provides Purolite with exclusive access to mAb fragment ligands developed at Avitide, Inc. (&#8220;Avitide&#8221;), in addition to the NGL portfolio developed at Navigo. Repligen will continue to receive access to Purolite's leading-edge base bead technology, as we proceed with the development and commercialization of novel affinity resins focused on new modalities and C&amp;GT.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">mAb Fragment Affinity Ligands and Resins from Avitide</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our acquisition of Avitide also led to our development and 2022 launch of AVIPure</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> CH1, a cross-linked agarose-based resin specifically engineered for the capture of the CH1 region of antigen-binding fragments (&#8220;Fabs&#8221;) from human immunoglobins (&#8220;IgGs&#8221;) and mAbs.  We believe that the high dynamic binding capacity for Fab and IgG1 even at short residence times position these resins well for market success.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Adeno-Associated Virus Affinity Ligands and Resins from Avitide</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In September 2021, we completed our strategic acquisition of Avitide, a market leader in affinity ligand discovery and development. This acquisition was a major step forward in building our proteins franchise, moving Repligen into affinity resin solutions for C&amp;GT and other emerging modalities.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In February 2022, we launched three advanced affinity chromatography resins for use in gene therapy manufacturing workflows. The resins AVIPure</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">-AAV9; AVIPure</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">-AAV8; and AVIPure</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">-AAV2, were developed by Avitide and are specific to the major adeno-associated virus (&#8220;AAV&#8221;) C&amp;GT vectors used today. AAV vectors are the leading platform for gene delivery for the treatment of a variety of human diseases. In 2023, a new affinity resin for AAV5 was also launched, expanding the portfolio.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are integrating these high performance AVIPure</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> resins with our OPUS PPC and ARTeSYN chromatography systems to provide our customers with a seamless chromatography solution. Caustic stability has been a challenge that the AVIPure resins are designed to</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">8</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">overcome without sacrificing high dynamic binding capacity. We believe customers will benefit from superior process economics, including multi-cycle resin capabilities.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Growth Factors</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">R</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">3 </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">IGF 1, 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Corporate Information</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are a Delaware corporation with our 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 approximately 1,800 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 02453, our website is </span><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">www.repligen.com</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and our telephone number is (781) 250-0111.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2023 Acquisitions</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Metenova Holding AB</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On October 2, 2023, our subsidiary, Repligen Sweden AB, acquired Metenova from the former shareholders of Metenova (the &#8220;Metenova Seller&#8221;) pursuant to a Share Sale and Purchase Agreement (the &#8220;Share Purchase Agreement&#8221;), dated as of September 23, 2023 (such acquisition, the &#8220;Metenova Acquisition&#8221;), by and among Repligen Sweden AB, the Metenova Seller, and us, in our capacity as guarantor of the obligations of Repligen Sweden AB under the Share Purchase Agreement.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Metenova, which is headquartered in Molndal, Sweden, offers magnetic mixing and drive train technologies that are widely used by global biopharmaceutical companies and contract development and manufacturing organizations. The Metenova Acquisition further strengthens our fluid management portfolio with these products.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">FlexBiosys, Inc.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On April 17, 2023, we completed the acquisition of all of the outstanding equity interests in FlexBiosys, pursuant to an Equity Purchase Agreement with FlexBiosys, TSAP Holdings Inc. (&#8220;NJ Seller&#8221;), Gayle Tarry and Stanley Tarry, as individuals (collectively with NJ Seller, the &#8220;FlexBiosys Sellers&#8221;), and Stanley Tarry, in his capacity as the representative of the FlexBiosys Sellers.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FlexBiosys, which is headquartered in Branchburg, New Jersey, offers expert design of custom manufacturing of single-use bioprocessing products and a comprehensive range of products that include bioprocessing bags, bottles, and tubing assemblies. These products will complement and expand our fluid management portfolio of offerings.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our Market Opportunity</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Bioprocessing Addressable Market</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The global addressable market for bioprocessing products is estimated to be approximately $20 billion of which we estimate Repligen&#8217;s addressable market to be approximately $12 billion at year end 2023. This market includes bioprocessing products used to manufacture therapeutic antibodies, recombinant proteins and vaccines, as well as C&amp;GTs.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Monoclonal Antibody Market</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Antibody-based biologics alone accounted for approximately $175 billion of global biopharma revenue in 2022. Industry sources project the mAbs market to grow in the range of approximately 10% to 12% annually through 2026, 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 31, 2023, over 150 mAbs were approved by the U.S. Food and Drug Administration (&#8220;FDA&#8221;) to treat a diverse range of diseases.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">9</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Biological R&amp;D remains robust, with more than 2,000 active mAb clinical trials ongoing to address a wide range of medical conditions.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cell and Gene Therapy Market</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">C&amp;GT has emerged in the past few years to become a rapidly growing area of biological drug development, with an estimated global market of greater than $7 billion in 2022, and over 3,000 active clinical trials underway at year-end 2023 according to industry sources. Statements by the FDA are supported by industry reports that estimate annual revenue growth of over 20% for the C&amp;GT market over the next several 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 C&amp;GT production, particularly in the manufacture of plasmids and viral vectors. Within the C&amp;GT market, mRNA-based therapeutic programs have become an area of focus and investment by several large biopharmaceutical companies, following the regulatory approval of mRNA-based vaccines for the COVID-19 pandemic, including all subsequent variants of the SARS-CoV-2 coronavirus (&#8220;COVID-19&#8221;).</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our Strategy</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are focused on the development, production and commercialization of highly differentiated, technology-leading systems and solutions that address specific pressure points in the biologics manufacturing process and deliver substantial value to our customers. Our products are designed to optimize our customers&#8217; workflow to maximize productivity and we are committed to supporting our customers with strong customer service and applications expertise.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We intend to build on our history of developing market-leading solutions and delivering strong financial performance through the following strategies:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Continued innovation</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. We plan to capitalize on our internal technological expertise to develop products that address unmet needs in upstream and downstream bioprocessing. We continue to invest in platform and derivative products to support our proteins, filtration, chromatography and process analytics franchises. We plan to strengthen our existing product lines with complementary products and technologies, including fluid management products, that are designed to allow us to provide customers with an integrated, more automated and more efficient manufacturing process on one or more measures including flexibility, convenience, time savings, cost reduction and product yield.   </span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Platforming our products. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 biologic 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. </span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Targeted acquisitions</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. We intend to continue to selectively pursue acquisitions of innovative technologies and products. We intend to leverage our consolidated balance sheets to acquire technologies and products that improve our overall financial performance by improving our competitiveness in filtration (including fluid management), chromatography or process analytics, or by moving us into adjacent markets with common commercial call points. </span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Geographical expansion</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. We intend to expand our global commercial presence by continuing to selectively build out our global sales, marketing, field applications and services infrastructure. </span></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">10</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Operational efficiency</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. 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. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Research and Development</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our R&amp;D 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Sales and Marketing</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our Commercial Team</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">To support our sales goals for our direct-to-consumer products, we have invested in our commercial organization. Since 2018, we have significantly expanded our global commercial organization from 103, to a commercial team of 342 employees as of December 31, 2023. This includes 277 people in field positions (sales, field applications and field service), 38 people in customer service and 27 in marketing. Geographically, 173 members of our commercial team are located in North America, 89 in Europe and 80 in Asia-Pacific (&#8220;APAC&#8221;) regions.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Ligand Supply Agreements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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, MilliporeSigma and Purolite. The Cytiva Protein A supply agreement relating to our Waltham, Massachusetts facility was amended in September 2021 and pursuant to its amended terms, runs through 2025. Our Protein A amended supply agreement with Purolite was amended in October 2022 and, pursuant to its amended terms, runs through 2032. Our dual manufacturing capability provides strong business continuity and reduces overall supply risk for our ligand customers.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Significant Customers and Geographic Reporting</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Customers for our bioprocessing products include major life sciences companies, contract manufacturing organizations, biopharmaceutical companies, diagnostics companies and laboratory researchers.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total revenue by geographic area (based on the location of the customer):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:57.409%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.177999999999999%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.177999999999999%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.238%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue by customers' geographic locations:</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">40</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC/Other</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There was no revenue from customers that represented 10% or more of the Company's total revenue for the years ended December 31, 2023 and 2022. Revenue from Pfizer Inc. accounted for 10% of total revenue for the year ended December 31, 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Human Capital</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Employees</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Repligen performs in a highly competitive industry and recognizes that our continued success hinges upon our ability to attract, develop and retain a diverse team of talented individuals.  We place high value on the satisfaction and well-being of our employees and operate with fair labor standards and industry-competitive compensation and benefits globally. As of December 31, 2023, we employed 1,783</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">full-time and part-time employees, a decrease of 242 since December 31, 2022. This total includes 342 employees in our commercial organization (277 field and 65 internal), 235 in engineering and R&amp;D, 643 in manufacturing, 185 in quality, 82 in supply chain roles and 296 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 82 employees in Sweden, comprising approximately 5% of our total workforce. We renewed this collective bargaining agreement in March 2023, and it expires at the end of March 2025. In France, 64 employees are under the relevant national and local collective bargaining agreements for metallurgy, comprising approximately 4% of our total workforce.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Code of Business Conduct and Ethics</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Repligen is committed to conducting business in accordance with the highest ethical standards. This means how we conduct ourselves and our global work is more than just a matter of policy and law; it&#8217;s a reflection of our core principles. Our Second Amended and Restated Code of Business Conduct and Ethics reflects Repligen&#8217;s five core principles &#8211; (1) trustworthiness, (2) respectfulness, (3) responsibility, (4) fairness and (5) corporate citizenship. Our Second Amended and Restated Code of Business Conduct and Ethics applies to all Repligen employees, including those who are integrated into the Company through acquisitions.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Inclusive Workforce</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Repligen maintains a resolute commitment to fostering a diverse and inclusive workplace. We have established talent acquisition processes, as well as training and employee engagement resources, including the formation of inclusive workforce initiatives, to drive the principles of diversity and inclusion at all levels of our organization starting with our Board of Directors (&#8220;Board&#8221;) and our Leadership team.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In our hiring practices, we strive to hire the most qualified person for the job and believe that, over time, this will lead to an increasingly diverse workforce. As part of finding the most qualified candidates, we are committed to ensuring that qualified, diverse slates of applicants are identified and considered for all roles, from the boardroom and C-suite to all levels of the workforce. We believe our focus on talent identification, development, engagement and succession planning has been particularly successful in developing a deep and diverse talent pipeline.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Employee Engagement and Development</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our goal is to develop and maintain a talented, engaged and diverse workforce that has a positive impact on our performance and on our customers. We regularly conduct engagement surveys to gain insight on employee perspectives. Additional channels for employee engagement include Company-wide all-hands meetings led by our Chief Executive Officer (&#8220;CEO&#8221;) and site town halls ran by site leaders. We are committed to colleague recognition, which includes acknowledging, appreciating and celebrating each other's contributions and achievements. Our CEO-led all-hands meetings serve as a platform for CEO awards and platinum awards, which reward and recognize both teams and individual colleagues who have made significant and notable contributions to Repligen's success. We also offer a range of programs to develop our managers and enhance our leadership across the Company. Our professional development efforts are aimed at increasing organizational talent and capabilities as well as identifying and developing potential successors for key leadership positions.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Health, Safety and Well-Being</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We actively promote the safety, health and well-being of our employees and end users of our products.  Creating a culture where all employees feel supported and valued is paramount to our corporate mission. Our well-being goals are for employees to physically thrive, flourish mentally and emotionally, be socially connected and achieve financial security. We are proud to provide all of our full time employees in the United States with access to an employee assistance program (&#8220;EAP&#8221;). Our EAP offers employees and their eligible dependents counseling and well-being resources 24 hours a day, seven days a week by phone, online or via the mobile site.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our environmental health and safety policy advances our vision of zero workplace incidents and our efforts to reduce our environmental impacts.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Repligen Performance System</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2022, we formalized the Repligen Performance System ("RPS"), to provide the tools and a framework for engaging employees across the organization to continuously improve operational performance, with a focus on product quality, customer lead times, material supply, production costs and sustainability. Through a standard implementation network, all teams were empowered to implement just-do-it process improvements, solve priority problems through stand-up meetings and improve key processes through kaizen events. We believe RPS improved our teams' ability to continuously resolve customer challenges, enhance product quality and improve operational efficiencies. The impact of RPS was seen during 2022 and into 2023 in productivity savings, customer lead-time reductions, manufacturing capacity expansions, product quality improvements and significant reductions in manufacturing scrap at several key sites. There are a number of programs setup using RPS over the next twelve months.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Sustainability - Environmental, Social and Governance Matters</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our Commitment to Sustainability</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We believe our commitment to Environmental, Social and Governance (&#8220;ESG&#8221;) topics across all our global facilities matters and is an important part of creating long-term business value for all stakeholders. We are deeply committed to corporate responsibility and transparency, and we continue to factor sustainability into our business decisions and integrate its core principles into our daily operations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In establishing a formal approach to ESG, we joined the United Nations Global Compact in 2020 in support of its Ten Principles related to human rights, labor, the environment, and anti-corruption. The actions we have taken while building and implementing our robust ESG strategy demonstrate our long-term commitment to being a responsible global corporate citizen.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In preparation for our initial sustainability report, published in 2021, we formed a Corporate Responsibility Team (&#8220;CRT&#8221;) with oversight by our Board. The CRT was headed by a member of our operations leadership team and represented multiple disciplines within the organization. We completed our first materiality assessment gleaning insights from internal and external stakeholders, and we established a financial grade ESG software platform to inform current and future ESG-related reporting and decisions.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Together, we are advancing our ESG initiatives at an ambitious pace and taking bold steps to engage stakeholders throughout our upstream and downstream value chain.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">   </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our Reporting Frameworks</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have become an active participant in the sustainability reporting ecosystem through our alignment with the Greenhouse Gas Protocol and membership with the United Nations Global Compact (&#8220;UNGC&#8221;), the Global Reporting Initiative (&#8220;GRI&#8221;) and the International Financial Reporting Standards Sustainability Alliance, which now includes the International Sustainability Standards Board standards. Sustainability Accounting Standards Board (&#8220;SASB&#8221;) standards and Task Force on Climate-related Financial Disclosures (&#8220;TCFD&#8221;) recommendations. In 2023, we completed our first CDP Climate and CDP Water surveys, and submitted our commitment letter to the Science Based Targets Initiative to develop a greenhouse gas emissions reduction plan aligned with the latest climate science.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">With our 2022 sustainability report, which was published in November 2023 (the &#8220;2022 Sustainability Report&#8221;), we hope to convey our Progress on Repligen's Integrated Sustainability Management program, which recognizes that an effective sustainability strategy reflects multiple stakeholders' lenses, perspectives on materiality and measurements of success and collaborative engagement. The 2022 Sustainability Report is intended to provide transparency insights into the positive impacts of our ESG programs for all of our stakeholders. To that end, we created reporting indexes for multiple disclosure frameworks including UNGC, SASB, GRI and TCFD.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Oversight of ESG Matters</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Nominating and Corporate Governance (&#8220;N&amp;CG&#8221;) Committee of our Board oversees our ESG program. The N&amp;CG Committee meets regularly and reviews and advises on ESG strategy and apprises the full Board in order to ensure that our ESG program and</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">13</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">strategy align with the Company's mission. In addition, the Audit Committee of the Board regularly reviews ESG-related topics such as enterprise risk management, anti-corruption, ethics and compliance, supply chain management, human rights protections, and cybersecurity and data privacy.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Head of Sustainability, under strategic direction of our CEO and Chief Operating Officer, is responsible for the development and implementation of our expanding ESG program. In collaboration with all key business functions, the mandate of this globally focused role is to consider our existing ESG initiatives, understand stakeholder perspectives, identify business-relevant areas of opportunity to make a positive impact on global ESG efforts, and work collaboratively to drive initiatives designed to accelerate our ESG progress and stretch our ESG ambition.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our Sustainability Pillars</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our sustainability initiatives are organized around four pillars that reflect our ESG priorities and topics considered material (or potentially material) to the Company and the bioprocessing industry: Principles, People, Product and Planet. Our &#8220;4Ps&#8221; embody the belief shared by our Board and the executive leadership team that corporate responsibility is essential to sustaining business and economic growth in a manner that can also deliver positive environmental and social impact.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our ESG pillars are as follows:</span></p>
  <div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">1.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Principles. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our core principles guide how we operate, respecting that our stakeholders depend on us to conduct business honestly, fairly and responsibly.</span></div></div>
  <div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">2.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">People.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> We recognize that our success as a company depends on the skills and contributions of a diverse group of employees who are engaged as individuals and high-performing teams. We operate in a highly competitive industry and recognize that our continued success and growth hinges upon our ability to attract, develop and retain an all-inclusive team of talented and diverse colleagues.</span></div></div>
  <div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">3.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our diversified portfolio of bioprocessing technology solutions unlocks opportunity by enabling our customers to speed the development and manufacture of biological drugs. Our products empower biopharmaceutical manufacturers to generate more product in less space and with less waste, ultimately making a positive impact on overall human health and well-being, which is also Sustainability Development Goal (&#8220;SDG&#8221;) #3 and our #1 SDG priority.</span></div></div>
  <div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">4.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Planet. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Social and environmental impacts of business are a growing concern for our stakeholders and a priority for us. We continue to actively weave sustainability into our corporate culture, and inspire company-wide action to reduce our climate impact.</span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2022 and 2023, we led and participated in numerous stakeholder communications across the business with key customers, critical suppliers, leading institutional investors, industry associations and employee resource groups to better understand their interests, priorities, targets and challenges through the increasingly relevant lens of sustainability. We remain committed to periodically updating our materiality matrices and reviewing the foundational aspects of our 4Ps to ensure close alignment with our stakeholders' priorities in the bioprocessing industry.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intellectual Property</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are committed to protecting our intellectual property through a combination of patents, trade secrets, copyrights and trademarks, as well as confidentiality and material transfer agreements.  As further described below, we own or have exclusive rights to at least 263 active patent grants and 369 pending patent applications in the United States and other foreign jurisdictions including Australia, Canada, China, France, Germany, India, Japan, South Korea, Sweden and the United Kingdom.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our policy is to require each of our employees, consultants, business partners, potential collaborators and customers to execute confidentiality agreements upon the commencement of an employment, consulting, business relationship, or product related audit or research evaluation. 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 employment or rendering services to Repligen shall be our exclusive property and must be assigned to Repligen.</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">14</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Filtration</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For our filtration franchise, our patent grants include coverage for, ATF filtration, TFDF and TFF HF and FS systems, membranes, filters, mixers flow paths and single-use technologies. We continually seek to improve upon these technologies and have multiple new patent filings including patents covering next generation TFDF filters, next generation ATF filtration technologies, and proprietary reduced cost system components.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Chromatography</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our patent grants include coverage for certain unique methods and features of our OPUS PPC, including methods of manufacturing column components, systems for removing air using specialized tubing and valve systems, medium recovery systems, methods for packing, as well as systems for testing chromatography columns. We strive to improve upon our chromatography technologies, including developing potentially disruptive technology related to gamma irradiated columns and resin packing methods.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Through the ARTeSYN Acquisition in 2020, our patent portfolio includes exo-technology, valves, integrated sensors and integrated flow path systems. We also have multiple patent grants pertaining to our single-use replacement valves and liners used in combination with our modular configurable encapsulated flow systems to provide sterilized flow paths for various bioprocessing applications.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Process Analytics</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Through our 2019 acquisition of C Technologies, Inc. (&#8220;C Technologies&#8221;), we hold patent grants to various slope spectroscopy instruments, including interactive variable pathlength devices and related methods of use. C Technologies&#8217; scientists are continually developing new analytical tools using our state-of-the-art slope spectroscopy technology, for which we continue to file patent applications.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Proteins</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We currently hold a patent grant 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 is used for bioprocessing applications.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Pursuant to our collaboration with Navigo, we also have multiple patent grants and multiple pending patent applications globally covering Protein A-based affinity ligands through our collaboration with Navigo. These include ligands for antibody purification, as well as ligands for purifying COVID-19 vaccines.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, following the acquisition of Avitide in September 2021, we continue to file multiple patent applications globally covering affinity ligands.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">   </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Trademarks</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We procure and maintain trademark registrations globally for the Repligen trademark and our various product brands. We prioritize our &#8220;housemarks&#8221;, (e.g., Repligen, the stylized &#8220;R&#8221; logo, Spectrum, TangenX, C Technologies, ARTeSYN, Polymem, Avitide, Metenova, etc.), and ensure continued protection globally. We also have trademark registrations for various product lines, including OPUS, XCell, XCell ATF, TFDF, KrosFlo, SIUS, ProConnex, Spectra/Por, NGL-Impact, SoloVPE, FlowVPE, FlowVPX, RPM, XO and AVIPure, that provide valuable company recognition and goodwill with our customers.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have a comprehensive branding policy that includes trademark usage guidelines to ensure Repligen trademarks are used in accordance with our worldwide registrations and we actively police any unauthorized trademark usage as well as enforce the rights we have under our trademarks.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Licensing Agreements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. For example, we entered into a 15-year exclusive License Agreement with Daylight (the &#8220;Daylight Agreement&#8221;), giving us exclusive license and commercialization rights to use certain technology and</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">15</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">intellectual property subject to conditions set forth in the Daylight Agreement. See Note 13, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Commitments and Contingencies&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to our consolidated financial statements included in this report for more information on this license agreement.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Competition</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 have greater financial and human resources, and greater 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Manufacturing</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A majority of our 19 manufacturing sites are located in the United States (California, Massachusetts, New Jersey, New Hampshire, New York and Texas). Outside the United States, we have manufacturing sites in Estonia, France, Germany, Ireland, the Netherlands and Sweden.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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, Massachusetts, Ravensburg, Germany and Breda, the Netherlands. Our primary filtration manufacturing sites, including manufacturing of fluid management systems, products and consumables, are located in Marlborough, Massachusetts; Rancho Dominguez, California; Clifton Park, New York; Auburn, Massachusetts; Waterford, Ireland; Tallinn, Estonia and Toulouse, France. Our facility in Marlborough, is focused on XCell ATF and FS TFF products, while in Rancho Dominguez the focus is on Spectrum HF, TFDF and ProConnex products. Our process analytics products are manufactured in Bridgewater, New Jersey. Our operating room products are manufactured in Irving, Texas. As part of our capacity expansion activities, we have added a site in Hopkinton, Massachusetts that serves as an assembly center for single-use products and will also have the capacity to manufacture our protein products when the current buildout is completed. With our five acquisitions since the beginning of 2021, we gained manufacturing sites in Molndal, Sweden (Metenova), Branchburg, New Jersey (FlexBiosys), Toulouse, France (Polymem) and Lebanon, New Hampshire (Avitide). We undertook restructuring activities in 2023 that included consolidating a portion of our manufacturing operations between certain U.S. locations, discontinuing the sale of certain product SKUs, and evaluating the fair value of finished goods and raw materials secured during the 2020-2022 COVID-19 pandemic period. As a result of these activities, we closed manufacturing sites in Newton, New Jersey and Oceanside, California.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We utilize our facilities in Waltham, Massachusetts and Lund, Sweden to carry out fermentation and recovery operations, and purification, immobilization, packaging and quality control testing of our protein-based bioprocessing products. Our facilities located in Waltham, Massachusetts; Marlborough, Massachusetts; Lund, Sweden; Ravensburg, Germany; Bridgewater, New Jersey; Clifton Park, New York; and Rancho Dominguez, California among other sites, are ISO</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 9001:2015 certified and maintain formal quality systems to maintain process control, traceability, and product conformance. Additionally, our facilities in Irving, Texas and Auburn, Massachusetts are ISO</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 13485:2016 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">16</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Available Information</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We maintain a website with the address </span><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">www.repligen.com</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. We are not including the information contained on our website as a part of, or incorporating it by reference into, this Form 10-K. 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, including exhibits 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;). We also provide corporate governance, such as our Second Amended and Restated Code of Business Conduct and Ethics and other information, including our 2022 Sustainability Report, free of charge, through our website.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our filings with the SEC may be accessed through the SEC&#8217;s Electronic Data Gathering, Analysis and Retrieval system at </span><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">www.sec.gov</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">17</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_1a_risk_factors"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 1A. RI</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">SK FACTORS</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Investors should carefully consider the risk factors described below before making an investment decision.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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 10-K.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Our Business</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We compete with life sciences, pharmaceutical and biotechnology companies who are capable of developing new approaches that could make our products and technology obsolete.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The bioprocessing market is intensely competitive, subject to rapid change and significantly affected by new product introductions and other market activities of industry participants.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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), 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 (&#8220;R&amp;D&#8221;) 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, and may have additional lines of products and the ability to bundle products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If we are unable to continue to hire and retain skilled personnel, then we will have trouble developing and marketing our products.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Despite our increasingly diversified client base, we have historically depended on a limited number of customers for a high percentage of our revenues.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">18</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">customers may place fewer orders with us or cease placing orders with us, which would negatively affect our revenues and operating results.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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 cell and gene therapy (&#8220;C&amp;GT&#8221;)  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.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">C&amp;GT remains a relatively new and developing treatment method, with only a limited number of gene therapies approved to date by regulatory authorities. Public perception may be influenced by claims that C&amp;GT is unsafe or ineffective, and C&amp;GT may not gain the acceptance of the public or the medical community. In addition, ethical, social, legal, and financial concerns about C&amp;GT and genetic testing could result in additional regulations, limitations or even prohibitions on certain C&amp;GTs or C&amp;GT-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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Product Development and Acquisitions</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If we are unable to expand our product portfolio, our ability to generate revenue could be adversely affected.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 our financial performance will likely suffer if we are unable to do so.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As a part of our growth strategy, we may make selected acquisitions of complementary products and/or businesses, such as our most recent acquisitions of Metenova Holding AB and FlexBiosys, Inc. 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:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">difficulties in integrating new operations, technologies, products, and personnel; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">problems maintaining uniform procedures, controls and policies with respect to our financial accounting systems; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">lack of synergies or the inability to realize expected synergies and cost-savings; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">difficulties in managing geographically dispersed operations, including risks associated with entering foreign markets in which we have no or limited prior experience; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">underperformance of any acquired technology, product, or business relative to our expectations and the price we paid; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">negative near-term impacts on financial results after an acquisition, including acquisition-related earnings charges; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the potential loss of key employees, customers, and strategic partners of acquired companies; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">claims by terminated employees and shareholders of acquired companies or other third parties related to the transaction; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the assumption or incurrence of additional debt obligations or expenses, or use of substantial portions of our cash; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the issuance of equity securities to finance or as consideration for any acquisitions that dilute the ownership of our stockholders; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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; </span></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">19</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">diversion of management&#8217;s attention and company resources from existing operations of the business; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">inconsistencies in standards, controls, procedures, and policies; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">risks associated with acquiring intellectual property, including potential disputes regarding acquired companies&#8217; intellectual property. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, the successful integration of acquired businesses requires significant efforts and expense across all operational areas, including sales and marketing, R&amp;D, manufacturing, finance, legal, and information technologies. There can be no assurance that any of the acquisitions we 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If intangible assets and goodwill that we recorded in connection with our acquisitions become impaired, we may have to take significant charges against earnings.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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, 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Manufacturing and Supply</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 were to 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. For example, we believe that only a small number of suppliers are currently qualified to supply materials for the XCell ATF</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">20</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There can be no assurance that we will be able to secure 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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Our Financial Position and Need for Additional Capital</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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 and we may not have the ability to raise the funds necessary to settle for cash conversions of our Notes or to repurchase the Notes for cash upon a fundamental change, which could adversely affect our business and results of operations.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2023, we incurred significant indebtedness with the issuance of $600.0 million in aggregate principal amount of 1.00% Convertible Senior Notes due 2028 (the &#8220;2023 Notes&#8221;) where $309.9 million principal amount of the 2023 Notes were issued in exchange for $217.7 million principal amount of our 0.375% Convertible Senior Notes due 2024 (the &#8220;2019 Notes&#8221;, and together with the 2023 Notes, the &#8220;Notes&#8221;) and $290.1 million principal amount of the 2023 Notes were issued for $290.1 million in cash. As of December 31, 2023, $69.7 million in aggregate principal amount of the 2019 Notes remain outstanding. Our ability to make scheduled payments of the principal of, to pay interest on, or to refinance our indebtedness, including the 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 continue to 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. 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 Notes.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, holders of the Notes have the right, subject to certain conditions, to require us to repurchase all or any portion of their Notes upon the occurrence of a &#8220;fundamental change&#8221; (as defined in the indentures governing the Notes) at a fundamental change repurchase price equal to 100% of the principal amount of the Notes to be repurchased, plus accrued and unpaid interest, if any, but excluding the fundamental change repurchase date. Upon any conversion of Notes, we will also be required to make cash payments for each $1,000 principal amount of 2023 Notes converted of at least the lesser of $1,000 and the sum of the &#8220;daily conversion values&#8221; (as defined in the indenture governing the 2023 Notes). However, we may not have enough available cash or be able to obtain financing at the time we are required to make repurchases of Notes surrendered therefor or pay cash with respect to Notes being converted. In addition, our ability to repurchase the Notes or to pay cash upon conversions of the Notes may be limited by law, by regulatory authority or by agreements governing our future indebtedness. Our failure to repurchase Notes at a time when the repurchase is required by the applicable indenture or to pay any cash payable on future conversions of the Notes as required by the applicable indenture would constitute a default under such indenture. A default under either indenture governing the Notes or the fundamental change itself could also lead to a default under agreements governing our future indebtedness. 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 Notes or make cash payments upon conversions thereof.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">   </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, our significant indebtedness, combined with our other financial obligations and contractual commitments, could have other important consequences. For example, it could:</span></p>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">make us more vulnerable to adverse changes in general U.S. and worldwide economic, industry and competitive conditions and adverse changes in government regulation; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">limit our flexibility in planning for, or reacting to, changes in our business and our industry; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">place us at a disadvantage compared to our competitors who have less debt; and </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. </span></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">21</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The conditional conversion feature of the Notes, if triggered, may adversely affect our financial condition and liquidity.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#231f20;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In the event the conditional conversion feature of the Notes is triggered, holders of Notes will be entitled to convert the Notes at any time during </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">specified</span><span style="color:#231f20;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> periods at their option, as described in the indentures governing the Notes. If one or more holders elect to convert their Notes, we would be required to settle any converted principal through the payment of cash, which could adversely affect our liquidity.  In addition, even if holders do not elect to convert their Notes, we could be required under applicable accounting rules to reclassify all or a portion of the outstanding principal of the notes as a current rather than long-term liability, which would result in a material reduction of our net working capital. As a result of the satisfaction of one of the conversion triggers, the 2019 Notes are convertible at the option of the holders thereof during the calendar quarter ending March 31, 2024. Because the 2019 Notes mature within one year of the report date, the Company classifies the carrying value of the 2019 Notes of $69.5 million as current liabilities on the Company's consolidated balance sheets at December 31, 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our corporate restructuring and the associated headcount reduction may not result in anticipated savings, could result in total costs and expenses that are greater than expected and could disrupt our business.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2023, our Board of Directors (&#8220;Board&#8221;) authorized the Company's management team to undertake restructuring activities to simplify and streamline our organization and strengthen the overall effectiveness of our operations (the &#8220;Restructuring Plan&#8221;). As part of the Restructuring Plan, we consolidated a portion of our manufacturing business between certain U.S. locations and reduced our headcount. We may not realize, in full or in part, the anticipated benefits, savings and improvements in our cost structure from our restructuring efforts due to unforeseen difficulties, delays or unexpected costs. If we are unable to realize the expected operational efficiencies and cost savings from the restructuring, our operating results and financial condition could be adversely affected. Furthermore, the Restructuring Plan may be disruptive to our operations. For example, our headcount reductions could yield unanticipated consequences, such as increased difficulties in implementing our business strategy, including retention of our remaining employees.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our exposure to political, economic and other risks that arise from operating a multinational business has and may continue to increase.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">fluctuations in foreign currency exchange rates, which may affect the costs incurred in international operations and foreign acquisitions and could harm our results of operations and financial condition; </span></div></div>
  <div style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">changes in general economic and political conditions in countries where we operate, particularly as a result of ongoing economic instability within foreign jurisdictions;</span></div></div>
  <div style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the occurrence of a trade war, or other governmental action related to tariffs or trade agreements;</span></div></div>
  <div style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">differing protection of intellectual property, technology and data in foreign jurisdictions;</span></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">22</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">difficulty in staffing and managing widespread operations;</span></div></div>
  <div style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">being subject to complex and restrictive employment and labor laws and regulations, as well as union and works council restrictions; </span></div></div>
  <div style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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; </span></div></div>
  <div style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">being subject to burdensome foreign laws and regulations, including regulations that may place an increased tax burden on our operations; </span></div></div>
  <div style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">being subject to longer payment cycles from customers and experiencing greater difficulties in timely accounts receivable collections; and </span></div></div>
  <div style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 (the &#8220;FCPA&#8221;) 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. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may be unable to efficiently manage our growth as a larger and more geographically diverse organization.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 and culturally diverse, and substantially larger combined organization could materially adversely affect our operating results and, as a result, the market price of our common stock.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our results of operations could be negatively affected by potential fluctuations in foreign currency exchange rates.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We conduct a large portion of our business in international markets. For the fiscal year ended December 31, 2023, 38.5% of our revenues were denominated in foreign currencies with the primary foreign currency exposures being the Swedish krona, Euro and Chinese yuan. We are exposed to the risk of an increase or decrease in the value of the foreign currencies relative to the U.S. dollar, which could decrease the value of our revenue and increase the value of our expenses and costs when measured in U.S. dollars. These fluctuations could also adversely affect the demand for products and services provided by us. 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 may have a strong negative impact on 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">23</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our business, financial condition and results from operations could be adversely affected by disruptions in the global economy caused by geopolitical events, such as the ongoing conflicts between Russia and Ukraine and Israel and Palestine.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Global conflicts could increase costs and limit availability of fuel, energy, and other resources we depend upon for our business operations. For example, while we do not operate in Russia or Ukraine, the increasing tensions between the United States and Russia and the other effects of the ongoing conflict of Ukraine, have resulted in many broader economic impacts such as the United States and European Union imposing sanctions and bans against Russia and Russian products imported into the United States and Europe, respectively. Such sanctions and bans have impacted and may continue to impact commodity pricing such as fuel and energy costs, making it more expensive for us and our partners to deliver products to our customers. Further sanctions, bans or other economic actions in response to the ongoing conflict between Russia and Ukraine or in response to any other global conflict such as the ongoing conflict between Israel and Palestine, could result in, among other things, cyber-attacks, supply disruptions, lower consumer demand, and changes to foreign exchange rates and financial markets, any of which may adversely affect our business and supply chain. In addition, the effects of the ongoing conflict could heighten many of our known risks described in this section.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Adverse developments affecting the financial services industry, such as actual events or concerns involving liquidity, defaults, or non-performance by financial institutions or transactional counterparties, could adversely affect our current and projected business operations and our financial condition and results of operations.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Actual events involving limited liquidity, defaults, non-performance or other adverse developments that affect financial institutions, transactional counterparties or other companies in the financial services industry or the financial services industry generally, or concerns or rumors about any events of these kinds or other similar risks, have in the past and may in the future lead to market-wide liquidity problems. For example, on March 10, 2023, Silicon Valley Bank (&#8220;SVB&#8221;) was closed by the California Department of Financial Protection and Innovation, which appointed the Federal Deposit Insurance Corporation (&#8220;FDIC&#8221;) as receiver. Similarly, on March 12, 2023, Signature Bank and Silvergate Capital Corp. were each swept into receivership. If any of our lenders or counterparties to any such instruments were to be placed into receivership, we may be unable to access such funds. We have a banking relationship with SVB and hold cash, cash equivalents and marketable securities of $0.1 million as of December 31, 2023 in SVB depository accounts to cover short-term operational payments. While we have not experienced any losses in such accounts, the recent failure of SVB caused us to utilize our accounts at other financial institutions in order to mitigate potential operational risks stemming from the temporary inability to access funds in our SVB operating accounts. In addition, if any of our customers, suppliers or other parties with whom we conduct business are unable to access funds pursuant to such instruments or lending arrangements with such a financial institution, such parties&#8217; ability to pay their obligations to us or to enter into new commercial arrangements requiring additional payments to us could be adversely affected.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inflation and rapid increases in interest rates have led to a decline in the trading value of previously issued government securities with interest rates below current market interest rates. Although the U.S. Department of Treasury, FDIC and Federal Reserve Board have announced a program to provide up to $25 billion of loans to financial institutions secured by certain of such government securities held by financial institutions to mitigate the risk of potential losses on the sale of such instruments, widespread demands for customer withdrawals or other liquidity needs of financial institutions for immediately liquidity may exceed the capacity of such program. Additionally, there is no guarantee that the U.S. Department of Treasury, FDIC and Federal Reserve Board will provide access to uninsured funds in the future in the event of the closure of other banks or financial institutions, or that they would do so in a timely fashion.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Although we assess our banking and customer relationships as we believe necessary or appropriate, our access to funding sources and other credit arrangements in amounts adequate to finance or capitalize our current and projected future business operations could be significantly impaired by factors that affect the Company, the financial institutions with which the Company has credit agreements or arrangements directly, or the financial services industry or economy in general. These factors could include, among others, events such as liquidity constraints or failures, the ability to perform obligations under various types of financial, credit or liquidity agreements or arrangements, disruptions or instability in the financial services industry or financial markets, or concerns or negative expectations about the prospects for companies in the financial services industry.  These factors could involve financial institutions or</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">24</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">financial services industry companies with which the Company has financial or business relationships, but could also include factors involving financial markets or the financial services industry generally. The results of events or concerns that involve one or more of these factors could include a variety of material and adverse impacts on our current and projected business operations and our financial condition and results of operations.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, investor concerns regarding the U.S. or international financial systems could result in less favorable commercial financing terms, including higher interest rates or costs and tighter financial and operating covenants, or systemic limitations on access to credit and liquidity sources, thereby making it more difficult for us to acquire financing on acceptable terms or at all. Any decline in available funding or access to our cash and liquidity resources could, among other risks, adversely impact our ability to meet our operating expenses, financial obligations or fulfill our other obligations, result in breaches of our financial and/or contractual obligations or result in violations of federal or state wage and hour laws. Any of these impacts, or any other impacts resulting from the factors described above or other related or similar factors not described above, could have material adverse impacts on our liquidity and our current and/or projected business operations and financial condition and results of operations.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, any further deterioration in the macroeconomic economy or financial services industry, could lead to losses or defaults by our suppliers, which in turn, could have a material adverse effect on our current and/or projected business operations and results of operations and financial condition.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Ownership of Our Common Stock</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Investment in Our Securities</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our quarterly operating results may fluctuate in the future due to 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 R&amp;D, 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 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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#222222;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#222222;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#222222;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our stock price could be volatile, which could cause shareholders to lose part or all of their investment.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The market price of our common stock, like that of the common stock of many other companies with similar market capitalizations, is highly volatile. The stock market in general, and the market for life sciences, biotechnology and pharmaceutical companies in particular, have experienced extreme price and volume fluctuations that have often been unrelated or disproportionate to the operating performance of specific companies, the conflict in Ukraine and Israel, and rising inflation and interest rates in the United States, which have resulted in decreased stock prices for many companies notwithstanding the lack of a fundamental change in their underlying business models or prospects. Broad market and industry factors, including potentially worsening economic conditions, may adversely affect the market price of our common stock, regardless of our actual operating performance.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">25</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 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, including objectives that may involve our reliance on third-party advisors and professionals. If we, or our independent registered public accounting firm, determine that our internal control 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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 Securities and Exchange Commission, the Nasdaq Global Select Market or other regulatory authorities.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have previously implemented several significant enterprise resource planning (&#8220;ERP&#8221;) 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As discussed below in Part II, Item 9A, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Controls and Procedures,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of this report, we identified a material weakness in our internal control over financial reporting related to the accounting for deferred income taxes on the December 2023 exchange of a portion of our 2019 Notes and issuance of our 2023 Notes. As a result of this material weakness, our management concluded that our internal control over financial reporting was not effective as of December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have designed and are implementing a remediation plan for the material weakness. However, we may not be successful in remediating this material weakness in the near-term, or at all, particularly in light of the infrequency with which we are likely to undertake the types of transactions that could test our remediation efforts, or be able to identify and remediate any additional control deficiency, including any material weakness, that may arise in the future. If we fail to remediate the material weakness or any future  deficiencies or fail to otherwise 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 and could prevent us from preparing and filing financial statements within required time periods.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#222222;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Our Charter and Bylaws</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 to issue preferred stock without stockholder approval. In addition, because we are incorporated in Delaware, we are governed by the provisions of Section 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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">26</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">believe these provisions collectively provide for an opportunity to obtain greater value for stockholders by requiring potential acquirers to negotiate with the Board, 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 the Board, 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 us.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#222222;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Tax Matters</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. 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 as a result of changes in tax laws.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Section 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 percentage points 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. Federal net operating losses generated after December 31, 2017, are not subject to expiration and generally may not be carried back to prior taxable years except that, under the 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 31, 2020, the deductibility of such deferral net operating losses is limited to 80% of our taxable income in any future taxable year.</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">27</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Government Regulation</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Regulations and Compliance</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 voluntary self-disclosure 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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our business is subject to a number of environmental risks.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Climate change, climate change-related regulation and sustainability concerns could adversely affect our businesses and the operations of our subsidiaries, and any actions we take or fail to take in response to such matters could damage our reputation.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Investor advocacy groups, certain institutional investors, investment funds, other market participants and other stakeholders have focused increasingly on the Environmental, Social and Governance (&#8220;ESG&#8221;) practices of companies, including those associated with climate change. These parties have placed increased importance on the importance on the implications of the social cost of their investments. If our ESG practices do not meet investor or other industry stakeholder expectations and standards, which continue to evolve, our reputation and associate retention may be negatively impacted based on an assessment of our ESG practices. Any sustainability disclosures we make may include our policies and practices on a variety of social and ethical matters, including corporate governance, environmental compliance, employee health and safety practices, human capital management, product quality, supply chain management, and workforce inclusion and diversity. It is possible that stakeholders may not be satisfied with our ESG practices or the speed of their adoption, or that we may not sufficiently communicate our ESG practices sufficiently to stakeholders. We could also incur additional costs and require additional resources to monitor, report, and comply with various ESG practices. In addition, investors may decide to refrain from investing in us as a result of their assessment of our approach to and consideration of the ESG factors.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, we face physical risks associated with climate change. These physical risks include risks to our manufacturing and supply chain from flooding, severe storms, wildfires, droughts or extreme temperatures, all of which could increase costs and impair our ability to meet customer demands in a timely manner. To date, we have not experienced material losses or disruptions to our operations related to climate change, and we do not anticipate that these risks will have a material impact to our Company in the near term.</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">28</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Health care reform measures could adversely affect our business.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 the Patient Protection and Affordable Care Act, as amended by the Health Care and Education Reconciliation Act of 2010 (together, the &#8220;ACA&#8221;), substantially changed the way health care is financed by both governmental and private insurers. 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In August 2022, the Inflation Reduction Act of 2022 (the &#8220;IRA&#8221;) was signed into law. The IRA includes several provisions that will impact our business to varying degrees, including provisions that create a $2,000 out-of-pocket cap for Medicare Part D beneficiaries, impose new manufacturer financial liability on all drugs in Medicare Part D, allow the U.S. government to negotiate Medicare Part B and Part D pricing for certain high-cost drugs and biologics without generic or biosimilar competition, require companies to pay rebates to Medicare for drug prices that increase faster than inflation, and delay the rebate rule that would require pass through of pharmacy benefit manager rebates to beneficiaries. The implementation of the IRA is currently subject to ongoing litigation challenging the constitutionality of the IRA's Medicare drug price negotiation program. The effect of IRA on our business and the healthcare industry in general is not yet known.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. President Biden has issued multiple executive orders that have sought to reduce prescription drug costs. In February 2023, HHS also issued a proposal in response to an October 2022 executive order from President Biden that includes a proposed prescription drug pricing model that will test whether targeted Medicare payment adjustments will sufficiently incentivize manufacturers to complete confirmatory trials for drugs approved through the U.S. Food and Drug Administration&#8217;s (&#8220;FDA's&#8221;) accelerated approval pathway. Although a number of these and other proposed measures may require authorization through additional legislation to become effective, and the Biden administration may reverse or otherwise change these measures, both the Biden administration and Congress have indicated that they will continue to seek new legislation measures to control drug costs.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Legally mandated price controls on payment amounts by third-party payors or other restrictions could harm our business, financial condition, results of operations and prospects. In addition, regional healthcare authorities and individual hospitals are increasingly using bidding procedures to determine what pharmaceutical products and which suppliers will be included in their prescription drug and other healthcare programs. This could reduce the ultimate demand for our products or put pressure on drug pricing, which could negatively affect our business, financial condition, results of operations and prospects. We expect that additional state and federal healthcare reform measures will be adopted in the future.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are subject to the FCPA 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 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">29</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Data and Privacy</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Despite the implementation of security measures, our internal computer systems and those of our customers, collaborators cloud-based platform service providers, and other contractors are vulnerable to damage from unauthorized access and from cyber-attacks, such as computer viruses, malware, ransomware, phishing denial-of-service attacks, social engineering and other means to affect service reliability and threaten the confidentiality, integrity and availability of information. 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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.  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. Like other companies, we have on occasion experienced, and believe we will continue to experience, data security incidents involving access to company data threats to our data and systems. 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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 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. 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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Changes in laws and regulations governing the privacy and protection of data and personal information could adversely affect our business.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For example, the European Union's and United Kingdom&#8217;s General Data Protection Regulations impose significant requirements on how we collect, process and transfer personal data, as well as significant regulatory penalties and legal liability for non-compliance. Complying with these laws may impose significant costs or otherwise require us to divert resources or implement changes to our business processes, and any actual or perceived non-compliance could result in significant penalties, claims and reputational damage.</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">30</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Additionally, we face risks from evolving and uncertain privacy standards in our industry. For example, the California Privacy Rights Act imposes additional obligations on companies covered by the legislation and will significantly modify the California Consumer Privacy Act by expanding consumers&#8217; rights with respect to certain sensitive personal information. The law also created a new regulatory agency in California and that agency&#8217;s finalized and proposed regulations are continuing to change the standard of privacy protection we are required to meet. More than a dozen other states, including Virginia, Colorado and Connecticut, have passed similar privacy laws that are or will be implemented and enforced by various state regulators.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, federal and state legislators and regulators are imposing new and heightened protections for health and other sensitive information that could impact our business. For example, the Federal Trade Commission (&#8220;FTC&#8221;) has imposed stringent requirements on the collection and disclosure of sensitive categories of personal information, including health information, and has expanded the application of its Health Breach Notification Rule. Washington&#8217;s My Health My Data Act requires regulated entities to obtain consent to collect health information, grants consumers certain rights, including to request deletion, and provides for robust enforcement mechanisms, including enforcement by the state attorney-general and by litigants through a private right of action for consumer claims. These current and future data privacy laws and regulations may require us to modify our data collection or processing practices and policies, incur substantial costs and expenses in an effort to comply and increase our potential exposure to regulatory enforcement, reputational damage, and/or litigation.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Also, 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 information. As we expand our customer base, these requirements may vary from customer to customer, further increasing the cost of compliance and doing business.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Our Products and Technology</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Our Intellectual Property</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If we are unable to obtain or maintain our intellectual property, we may not be able to succeed commercially.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We endeavor to obtain and maintain trade secrets and pursue strategic patent protection in order to protect our products and processes from unauthorized use, and to produce a financial return consistent with the significant time and expense required to bring our products to market and continue to be competitive in our technical fields. Our success depends, in part, on our ability to:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">preserve our trade secrets, know-how and confidential information; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">operate without infringing the proprietary rights of third parties; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">obtain and maintain patent protection for our products and processes; and </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">secure any necessary licenses from others on acceptable terms. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 many of the products that currently account for a majority of our revenue. We also own or have exclusive rights to 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 conceive the invention(s) described by each of our pending patent applications or that we were the first to file patent applications for such invention(s). Even if patents are issued, the degree of protection afforded by such patents will depend upon the:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">scope of the patent claims; </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">validity and enforceability of the claims obtained in such patents; and </span></div></div>
  <div style="margin-left:5%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.508421052631579%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">our willingness and financial ability to enforce and/or defend them. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">31</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 that claim technology also claimed by us, we may be required to participate in interference proceedings declared by Patent Offices to determine priority of invention, which would result in substantial costs to us.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">While we continue to obtain patent grants directed towards Protein A, other patent grants directed towards 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.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We may become involved in patent litigation or other intellectual property proceedings, including the following situations:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. </span></div></div>
  <div style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We may initiate litigation or other proceedings against third parties to seek to enforce our patents against infringers. </span></div></div>
  <div style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. </span></div></div>
  <div style="margin-left:5.065%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.5108231948175064%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">32</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Our Products</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The market may not be receptive to our new bioprocessing products upon their introduction.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> disposable chromatography columns, our XCell ATF system, our SIUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> tangential flow filtration (&#8220;TFF&#8221;) cassettes, our Spectrum</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> hollow fiber modules TFF line of cassettes, our process analytics products 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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our products are subject to quality control requirements.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 validation for good manufacturing practices, FDA, CE and ISO</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Litigation</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In connection with our decision to focus efforts on the growth of our 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may become subject to litigation, which could result in substantial costs and divert management&#8217;s attention and resources from our business.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">33</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 counterclaims against us, which could increase the costs associated with the litigation and result in our payment of damages or other judgments 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.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_1b_unresolved_staff_comments"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 1B. UNRESOLVE</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">D STAFF COMMENTS</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">None.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_1c_cybersecurity"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 1C. CYBERSECURITY</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Governance Related to Cybersecurity Risks</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our Board of Directors (&#8220;Board&#8221;) holds overall oversight responsibility for the Company&#8217;s strategy and risk management, including in relation to cybersecurity risks. Our Board exercises its oversight function through the Audit Committee, which oversees the management of risk exposure across various areas, including data security risks, in accordance with its charter. The Audit Committee receives quarterly reports from our Chief Information Officer (&#8220;CIO&#8221;) on the status of the Company&#8217;s cybersecurity program, including measures implemented to monitor and address cybersecurity risks and threats, as appropriate.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the leadership of our general counsel, we have constituted an enterprise risk management committee (&#8220;ERMC&#8221;) composed of senior management, including the CIO and other senior executives. The ERMC monitors and oversees risk areas that potentially could pose a high impact to the business, and cybersecurity currently is one of the ERMC&#8217;s priority focus areas. The ERMC reports on our top identified risks and steps to address those risks to the full Board on a semi-annual basis.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Our IT Infrastructure &amp; Operations team manages the day-to-day administration of our cybersecurity program. We also work with a managed security service provider to monitor for vulnerabilities and threats, which are reported to the IT Infrastructure &amp; Operations team and up to the CIO and other members of senior management, where appropriate. We engage employees in our cybersecurity efforts through a quarterly process for employees to complete security and awareness training as well as periodic simulated phishing campaigns. We also conduct specific training and tabletop exercises for key personnel involved in cybersecurity risk management.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cybersecurity Risk Management and Strategy</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We maintain a cybersecurity program, which is informed by industry standards, that includes processes for identification, assessment, and management of cybersecurity risks. We conduct periodic risk assessments, including with support from external vendors, to assess our cyber program, identify areas of enhancement, and develop strategies for the mitigation of cyber risks. We also conduct regular security testing and have established a vulnerability management process supported by security testing, for the treatment of identified security risks based on severity. Third-parties that access, process, collect, share, create, store, transmit or destroy our information or have access to our systems may have additional contractual controls.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our IT Infrastructure &amp; Operations team is informed about and monitors the prevention, detection, mitigation, and remediation of cybersecurity risks through various means, including by leveraging managed security service providers and other third-party security software and technology services. In addition, we institute processes and technologies for the monitoring of security alerts from internal parties and external resources, including from information security research sources. We also have implemented processes and technologies for network monitoring and data loss prevention procedures.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We maintain processes to inform and update management and, as needed, the Audit Committee, about security incidents that may pose a significant risk for the business, as applicable. Although risks from cybersecurity threats have to date not materially affected us, our business strategy, results of operations or financial condition, we have, from time to time, experienced threats and security incidents relating to our and our third party vendors&#8217; information systems. See Item 1A, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8221;Risk Factors,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to this report for more information.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">34</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_2_properties"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 2. PR</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">OPERTIES</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our material office, manufacturing and warehouse leases are detailed below:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:31.826%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:8.482%;"/>
    <td style="width:1%;"/>
    <td style="width:3.001%;"/>
    <td style="width:34.807%;"/>
    <td style="width:1.32%;"/>
    <td style="width:17.564%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;min-width:fit-content;">Location</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;min-width:fit-content;">Square Feet</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;min-width:fit-content;">Principal Use</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Lease Expiration</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Waltham, Massachusetts</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">182,243</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Corporate headquarters, manufacturing, research and development, marketing and administrative offices</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">October 31, 2030</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Marlborough, Massachusetts</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">130,700</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Manufacturing operations</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">November 30, 2033</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Rancho Dominguez, California</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">68,908</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Manufacturing, research and development, marketing and administrative operations</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">July 15, 2035</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Toulouse, France</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">67,285</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Manufacturing and administrative operations</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">March 31, 2032</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Lund, Sweden</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65,240</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Manufacturing and administrative operations</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><br/>December 31, 2026</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Hopkinton, Massachusetts</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">64,000</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Manufacturing, assembly site</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">July 13, 2034</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Bridgewater, New Jersey</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">57,739</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Manufacturing and administrative operations</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 1, 2034</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Compton, California</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">54,060</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Warehouse</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">May 31, 2029</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Waterford, Ireland</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">50,311</span></p></td>
    <td style="white-space:nowrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Manufacturing, administrative operations and assembly site</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">January 31, 2037</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Clifton Park, New York</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34,386</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Manufacturing operations</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">November 30, 2029</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Lebanon, New Hampshire</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31,313</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development and administrative operations</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">July 31, 2026</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On April 1, 2023, we expanded our space in Toulouse, France by approximately 4,000 square feet for additional office and warehouse space. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company entered into a lease agreement to lease approximately 76,000 square feet of office, manufacturing and storage space in J&#252;ri, Estonia. The Company gained access to the space and the right to control the use of the space was conveyed effective January 1, 2024.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition to the above, the Company also entered into a lease agreement to lease approximately 139,000 square foot of primarily warehouse space in Shrewsbury, Massachusetts. The Company gained access to the space and the right to control the use of the space was conveyed effective February 1, 2024.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the year ended December 31, 2023, we incurred total rental costs for all facilities of $25.1 million.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_3_legal_proceedings"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 3. LEGAL </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">PROCEEDINGS</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_4_mine_safety_disclosures"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 4. MINE SAF</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ETY DISCLOSURES</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Not applicable.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">35</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="part_ii"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">PART</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> II</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_5_market_for_registrants_common_equ"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 5. MARKET FOR REGISTRANT&#8217;S COMMON EQUITY, RELATED STOC</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">KHOLDER MATTERS AND ISSUER PURCHASES OF EQUITY SECURITIES</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Market Information for Common Stock</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our common stock is traded on the Nasdaq Global Select Market under the symbol &#8220;RGEN.&#8221;</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stockholders and Dividends</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of February 16, 2024, there were 259 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 (&#8220;Board&#8221;) and will depend on our financial condition, results of operations, capital requirements and other factors the Board deems relevant.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Equity Compensation Plan Information</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth information as of December 31, 2023, regarding shares of common stock that may be issued under the Company&#8217;s equity compensation plans, consisting of the Amended and Restated 2012 Stock Option and Incentive Plan and the 2018 Stock Option and Incentive Plan.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:54.989%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:10.998%;"/>
    <td style="width:1%;"/>
    <td style="width:2%;"/>
    <td style="width:1%;"/>
    <td style="width:11.758%;"/>
    <td style="width:1%;"/>
    <td style="width:2%;"/>
    <td style="width:1%;"/>
    <td style="width:11.258%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Plan Category</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Number of <br/>securities to be <br/>issued upon <br/>exercise of <br/>outstanding <br/>options, warrants <br/>and rights</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted-<br/>average<br/>exercise price of<br/>outstanding <br/>options, warrants <br/>and rights</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Number of <br/>securities<br/>remaining<br/>available<br/>for future<br/>issuance<br/>under equity<br/>compensation<br/>plans (excluding <br/>securities<br/>reflected in<br/>column (a))</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(a)</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(b)</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(c)</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equity compensation plans approved by security holders</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,123,450</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">85.97</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(2)</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,671,408</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Includes 649,130 shares of common stock issuable upon the exercise of outstanding options and 474,320 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. </span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(2)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Since stock units do not have any exercise price, such units are not included in the weighted average exercise price calculation. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stock Performance Graph</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The graph below matches Repligen Corporation&#8217;s cumulative 5-year 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 31, 2018 to December 31, 2023. 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.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">36</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">COMPARISON OF 5 YEAR CUMULATIVE TOTAL RETURN*</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Among Repligen Corporation, the Nasdaq Composite Index,</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the Nasdaq Pharmaceutical Index and the Nasdaq Biotechnology Index</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><img src="img33618189_0.jpg" alt="img33618189_0.jpg" style="width:668px;height:549px;"/>&#160;</p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Issuer Purchases of Equity Securities</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In June 2008, the Board authorized a program to repurchase up to 1.25 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 &#8220;2008 Share Repurchase Program&#8221;). The 2008 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 under the 2008 Repurchase Program during the year ended December 31, 2023. In prior years, we repurchased a total of 592,827 shares, leaving 657,173 shares remaining under this authorization.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2023, the Board authorized and approved a stock repurchase, separate from the 2008 Share Repurchase Program, of up to $25.0 million of our common stock concurrent with the issuance of $600.0 million aggregate principal amount of 1.00% Convertible Senior Notes due 2028 (&#8220;2023 Notes&#8221;). See Note 14, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">included in this report for more information on the issuance. We used $14.4 million of the proceeds from the issuance of the 2023 Notes to repurchase 92,090 shares at a price of $156.22, including transaction costs, to offset the impact of dilution from the issuance of 2023 Notes and equity compensation programs as well as to reduce our outstanding share count (&#8220;2023 Share Repurchase Program&#8221;). We have elected to retire the shares repurchased to date under the 2023 Share Repurchase Program. Retired shares become part of the pool of authorized but unissued shares. The purchase price of the retired shares in excess of par value, including transaction costs, is recorded as a decrease to additional paid-in capital in our consolidated balance sheets as of December 31, 2023.</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">37</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_6_reserved"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 6. RESERVED</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">38</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_7_managements_discussion_analysis_f"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 7. MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FINANCIAL CONDITION AND RESULTS OF OPERATIONS</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information pertaining to fiscal years 2022 and 2021 was included in the Company&#8217;s Annual Report on Form 10-K (&#8220;Form 10-K&#8221;) for the year ended December 31, 2022, on pages 37 through 53 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 Securities and Exchange Commission on February 22, 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As the overall market for biologics continues to grow and expand, our customers &#8211; primarily large biopharmaceutical companies and contract development and manufacturing organizations and other life sciences companies (integrators) &#8211; face critical production cost, capacity, quality and time pressures. Built to address these concerns, our products help 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 cell and gene therapies (&#8220;C&amp;GT&#8221;) &#8211; that are improving human health worldwide. Increasingly, our technologies are being implemented to overcome challenges in processing plasmid DNA (a starting material for the production of mRNA) and gene delivery vectors such as lentivirus and adeno-associated viral vectors. For more information regarding our business, products and acquisitions, see above sections in Part I, Item 1. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">"Business" </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">including &#8220;Overview&#8221;, &#8220;Our Products&#8221;, &#8220;2023 Acquisitions&#8221;, &#8220;2021 Acquisitions&#8221; and &#8220;Our Market Opportunity&#8221; sections therein.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Macroeconomic Trends</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As a result of our global presence, a significant portion of our revenue and expenses is denominated in currencies other than the U.S. dollar. We are therefore subject to non-U.S. exchange exposure. Exchange rates can be volatile and a substantial weakening or strengthening of foreign currencies against the U.S. dollar could increase or reduce our revenue and gross profit margin and impact the comparability of results from period to period.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have experienced, and expect to continue to experience, cost inflation, primarily in raw materials, and other supply chain costs, as a result of global macroeconomic trends, including global geopolitical conflicts and labor shortages. Actions taken to mitigate supply chain disruptions and inflation, including price increases and productivity improvements, have generally been successful in offsetting the impact of these trends. In addition, decreasing demand for vaccines for the COVID-19 pandemic, including all subsequent variants of the SARS-CoV-1 coronavirus (&#8220;COVID-19&#8221;) is driving a reduction in future demand of our products related to these vaccines. We expect that these trends will continue to impact our results for 2024 as well.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Critical Accounting Policies and Estimates</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 judgments, 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 and Results of Operations,&#8221; specifically 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 judgments are reasonable, they are based upon information presently available. Actual results may differ significantly from these estimates under different assumptions, judgments, or conditions.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenue recognition</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 Accounting Standards Codification No. (&#8220;ASC&#8221;) 606, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenue from Contracts with Customers,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 we expect 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, we estimate the amount of variable consideration that should be included in the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">39</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 our 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 our 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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 606-10-32-18, we do not assess whether a significant financing component exists if the period between when we perform our obligations under the contract and when the customer pays is one year or less.  None of our contracts contained a significant financing component as of December 31, 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.  We determine 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, we estimate the standalone selling price taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We recognize product revenue under the terms of each customer agreement upon transfer of control to the customer, which occurs at a point in time.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 in our consolidated statements of comprehensive income.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Allowance for credit losses</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 8, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Credit Losses,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to our consolidated financial statements included in this report for more information.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Inventories</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We value inventory at cost or, if lower, net realizable value, using the first-in, first-out 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, work-in-process 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 in our consolidated statements of comprehensive income. Manufacturing of bioprocessing finished goods is done to order and tested for quality specifications prior to shipment.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. In 2023, we recorded a $23.6 million in inventory adjustments, which included the impact of the Company discontinuing the sale of certain product SKUs and the impact of having proactively secured materials during the 2020-2022 COVID-19 pandemic period (the &#8220;COVID-19 Period&#8221;) to meet accelerated demand during a challenging supply chain environment in the industry. Where demand has reduced, finished goods and raw materials, whose value exceeded the projected requirements to be used before reaching their expiration date, were adjusted down to their net realizable value. In addition, these</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">40</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">adjustments include inventory that could not be repurposed as a result of the closing of manufacturing facilities and production lines as part of the Company's restructuring activities during 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business combinations</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 obligations. 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 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 Company estimates the fair value of the contingent consideration earnouts using the Monte Carlo Simulation and updates the fair value of the 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 that 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. Such changes in the fair value of contingent consideration are recorded as contingent consideration in our consolidated statements of comprehensive income. We recorded a net decrease to the fair value of the contingent consideration obligations for the twelve months ended December 31, 2023 of ($30.6) million primarily related to the change in estimated contingent consideration obligations from the acquisition of Avitide, Inc. (&#8220;Avitide&#8221;) in September 2021.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 after-tax cash flows attributable to these assets over their respective useful lives and then discounting these after-tax 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, non-competition agreements and in-process  research and development ("R&amp;D") 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible assets and goodwill</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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, R&amp;D 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 31, 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Indefinite-lived intangible assets are tested for impairment at least annually. There has been no impairment of our intangible assets for the periods presented.</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">41</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Goodwill</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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, macroeconomic conditions, industry and market conditions, entity specific factors such as strategies and financial performance, a significant adverse change in legal factors and an adverse action or assessment by a regulator. Goodwill is tested for impairment as of December 31</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">st</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We operate as one reporting unit. We performed a qualitative assessment for our reporting unit as of December 31, 2023, 2022 and 2021. Based on the assessment, we concluded that it was more likely than not that the estimated fair value of our reporting unit for 2023, 2022 and 2021 was higher than its carrying value for such years, and that the performance of the quantitative impairment test was not required. Therefore, no impairment was required for any of the periods presented.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have historically tested for impairment on our goodwill annually as of our measurement date of December 31st pursuant to Company policy. Subsequent to the 2023 annual impairment test, which was completed on December 31, 2023, we voluntarily changed our annual impairment assessment date from December 31st to October 1st, the first day of our fourth quarter, beginning on October 1, 2024. The change is being made to better align the annual impairment assessment date with our annual planning and budgeting process as well as the long-term planning and forecasting process. We have determined that this voluntary change in accounting principle is preferable and will not impact our consolidated financial statements nor is it being done to accelerate, avoid or trigger an impairment charge. This change is not going to be applied retrospectively as it is impracticable to do so because retrospective application would require application of significant estimates and assumptions with the use of hindsight. Therefore, the change will be applied prospectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">   </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued liabilities</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Debt accounting</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2023, we issued $600.0 million aggregate principal amount of 1.00% Convertible Senior Notes due 2028 (&#8220;2023 Notes&#8221;) in a private placement pursuant to separate, privately negotiated exchange and subscription agreements (the &#8220;Exchange and</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">42</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Subscription Agreements&#8221;) with a limited number of holders of our outstanding 0.375% Convertible Senior Notes due 2024 (&#8220;2019 Notes&#8221;) and certain other qualified institutional buyers pursuant to Rule 144A under the Securities Act of 1933, as amended. Pursuant to the Exchange and Subscription Agreements, we exchanged $217.7 million of our 2019 Notes for $309.9 million aggregate principal amount of the 2023 Notes (the &#8220;Exchange Transaction&#8221;) and issued $290.1 million aggregate principal amount of the 2023 Notes in a private placement to accredited institutional buyers (the &#8220;Subscription Transactions&#8221;) for cash. Immediately following the closing of the aforementioned transactions, $69.7 million in aggregate principal amount of the 2019 Notes remained outstanding.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We evaluated the Exchange Transaction and determined approximately $29.6 million of the $217.7 million principal of the exchanged 2019 Notes were accounted for as extinguishments of debt and approximately $188.1 million were accounted for as modification of debt. As a result, we recognized a $12.7 million loss on extinguishment of debt in our consolidated statements of comprehensive income for the year ended December 31, 2023. This included unamortized debt issuance costs related to the extinguished 2019 Notes. Under modification accounting, the carrying amount of the modified 2019 Notes was reduced by $2.8 million, with the offset going to additional paid-in capital, to account for the increase in fair value of the embedded conversion option in the modification. The increase in principal, along with the increased option value, totaling $82.1 million, is reflected as a debt discount and is a direct reduction from the carrying value of the debt on our consolidated balance sheets. This amount will be accreted as an adjustment to interest expense using the effective interest method and will accrete up to the full face value of the 2023 Notes of $600.0 million.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Proceeds from the Subscription Transactions amounted to $276.1 million after debt issuance costs of $14.0 million. The exchange resulted in $6.2 million of the debt issuance costs related to the modified notes to be recorded to amortization of debt issuance costs in our 2023 consolidated statement of comprehensive income under the rules of modification accounting. The remaining debt issuance costs of $7.8 million as well as $0.7 million of unamortized costs carried over from the 2019 Notes at the exchange date, were capitalized within long-term debt (as a contra-liability) in our consolidated balance sheets as of December 31, 2023 and will be amortized as an adjustment to amortization of debt issuance costs over the five-year term of the 2023 Notes in our consolidated statement of comprehensive income. The carrying value of the 2023 Notes of $510.1 million is included in long-term debt on our consolidated balance sheets as of December 31, 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prior to the close of business on the business day immediately preceding September 15, 2028, the 2023 Notes will be convertible at the option of the holders of 2023 Notes only upon the satisfaction of specified conditions and during certain periods into cash up to their principal amount, and into cash, shares of the Company's common stock or a combination of cash and the Company's common stock, at the Company's election, for the conversion value above the principal amount, if any. Thereafter until the close of business on the second scheduled trading day immediately preceding the maturity date, the 2023 Notes will be convertible at the options of the holders of 2023 Notes at any time regardless of these conditions. The Company may redeem for cash, all or a portion of the 2023 Notes, at its option, on or after December 18, 2026 and prior to the 21st scheduled trading day immediately preceding the maturity date at a redemption price of 100% of the principal amount of the 2023 Notes to be redeemed, plus accrued and unpaid interest to, but excluding the redemption date, if certain conditions are met in accordance to the indenture.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our short-term debt balance is related to our 2019 Notes, which were issued in July 2019. Prior to the adoption of Accounting Standards Update No. (&#8220;ASU&#8221;) 2020-06, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Debt - Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging - Contracts in Entity's Own Equity (Subtopic 815-40)&#8221;,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> the 2019 Notes were carried at their principal amount less unamortized debt discount and unamortized debt issuance costs. We had accounted for our convertible notes as separate liability and equity components prior to the adoption of 2020-06. We estimated the carrying amount of the liability component by estimating the fair value of a similar liability that did not have an associated conversion feature. The Company allocated 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 was calculated by deducting the carrying value of the liability component from the principal amount of the convertible notes as a whole. The difference represented a debt discount that, prior to the adoption of ASU 2020-06, was amortized to interest expense in our consolidated statements of comprehensive income over the term of the convertible notes using the effective interest rate method. We assessed 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. Effective January 1, 2022, the Company adopted ASU 2020-06.  After adoption, the Company now accounts for the 2019 Notes as a single liability measured at amortized cost. See Note 14, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to our consolidated financial statements included in this report for more information on our adoption of ASU 2020-06.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">43</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2023, 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 remaining $69.7 million aggregate principal amount of 2019 Notes are convertible at the option of the holders of the 2019 Notes during the first quarter of 2024, the quarter immediately following the quarter when conditions are met, as stated in the terms of the 2019 Notes. These conditions have been met since the third quarter of 2020. Since the 2019 Notes mature within one year of the report date, we classify the carrying value of the 2019 Notes of $69.5 million as current liabilities on our consolidated balance sheets as of December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock-based compensation</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. The risk-free interest rate is the implied yield available on U.S. treasury zero-coupon 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. Accordingly, we use an expected dividend yield of zero to calculate the grant-date fair value of a stock option.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The fair value for stock units, which include restricted stock units and performance stock units, is 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. 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 surrendered options, restricted stock units and performance stock units. Forfeitures are estimated at the time of grant and revised, if necessary, in subsequent periods if actual forfeitures differ from those estimates. Based on an analysis of historical data, we have calculated an 8% annual forfeiture rate for non-executive level employees, a 3% annual forfeiture rate for executive level employees, and a 0% forfeiture rate for non-employee members of the Board of Directors (&#8220;Board&#8221;), 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, a cumulative adjustment to stock-based compensation expense will be recorded in the period estimates are revised.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the years ended December 31, 2023, 2022 and 2021, we recorded stock-based compensation expense of $25.6 million, $27.3 million and $27.5 million, respectively, for share-based awards granted under all of the Company&#8217;s stock plans.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023, there was $63.8 million of total unrecognized compensation cost related to unvested share-based awards. This cost is expected to be recognized over a weighted average remaining requisite service period of 2.84 years. We expect 2,185,873 unvested options and stock units to vest over the next five years.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income taxes</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Deferred taxes are determined based on the difference between the consolidated financial statements 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 &#8220;more-likely-than-not&#8221; 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. We are subject to a territorial tax system under the Tax Cuts and Jobs Act enacted in December 2017, in which we are required to provide for tax on</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">44</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Global Intangible Low-Taxed Income (&#8220;GILTI&#8221;) earned by certain foreign subsidiaries. We adopted an accounting policy to provide for the tax expense related to GILTI in the year the tax is incurred as a period expense.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, we are subject to the continual examination of our income tax returns by the U.S. Internal Revenue Service and other domestic and foreign tax authorities. 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.</span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recent accounting standards update</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">See Note 2, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Summary of Significant Accounting Policies &#8211; Recent Accounting Standards Updates,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to our consolidated financial statements included in this report for more information.</span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Results of Operations</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenues</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total revenues for years ended December 31, 2023 and 2022 were comprised of the following:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:42.128%;"/>
    <td style="width:1.42%;"/>
    <td style="width:1%;"/>
    <td style="width:11.042%;"/>
    <td style="width:1%;"/>
    <td style="width:1.42%;"/>
    <td style="width:1%;"/>
    <td style="width:11.042%;"/>
    <td style="width:1%;"/>
    <td style="width:1.42%;"/>
    <td style="width:1%;"/>
    <td style="width:11.002%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.522%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023 vs 2022</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">$</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except for percentage data)</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue:</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Product</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">638,381</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,183</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(162,802</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(20.3</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Royalty and other income</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">383</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">353</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8.5</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">638,764</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,536</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(162,772</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(20.3</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product revenues</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 represented 85.8% of our total product revenue during 2023 compared to 87.8% of our total product revenue in 2022. 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Product revenues were comprised of the following:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:59.272%;"/>
    <td style="width:2%;"/>
    <td style="width:1%;"/>
    <td style="width:16.363%;"/>
    <td style="width:1%;"/>
    <td style="width:2%;"/>
    <td style="width:1%;"/>
    <td style="width:16.363%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span><span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;">(1)</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Filtration products</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">347,781</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">495,930</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Chromatography products</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126,629</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">131,680</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Process analytics products</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,820</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">53,512</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proteins products</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">103,463</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">114,320</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,688</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,741</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total product revenue</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">638,381</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,183</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) from April 17, 2023, as well as Metenova Holding AB (&#8220;Metenova&#8221;) from October 2, 2023. </span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(2)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2021 revenue for filtration products includes revenue related to Polymem S.A. (&#8220;Polymem&#8221;) from July 1, 2021, as well as BioFlex Solutions LLC (&#8220;BioFlex&#8221;) and Newton T&amp;M Corp (&#8220;NTM&#8221;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide from September 20, 2021 through December 31, 2021.</span></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">45</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue from the sale of our products which make up our filtration, chromatography, process analytics and proteins franchises comes from the sale of a number of products as described in Part I, Item 1. &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business - Our Products&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of this report. Other revenue primarily consists of revenue from the sale of our operating room products to hospitals as well as freight revenue.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For 2023, product revenue decreased by $162.8 million, or 20.3%, as compared to 2022. This is mainly due to a decrease in revenue from programs related to COVID-19 as customers&#8217; inventory has reduced at a slower pace than initially expected, which has primarily affected revenue from sales of our filtration products. Partially offsetting these revenue declines in 2023, as compared to 2022, were price increases and strong performances within our chromatography and process analytics franchises, specifically from chromatography systems and flowpaths, as well as slope spectroscopy, consumables and service.  The impact of our acquisitions of FlexBiosys and Metenova also increased revenue in 2023, as compared to 2022.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Sales of our bioprocessing products are impacted by the timing of orders, development efforts at our customers or end-users 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Royalty revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Royalty revenues for all periods presented relate to royalties received from a third-party systems manufacturer associated with our OPUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> chromatography columns. Royalty revenues are variable and are dependent on sales generated by our partner.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Costs and operating expenses</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total costs and operating expenses for the years ended December 31, 2023 and 2022 were comprised of the following:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:41.528%;"/>
    <td style="width:1.4%;"/>
    <td style="width:1%;"/>
    <td style="width:10.862%;"/>
    <td style="width:1%;"/>
    <td style="width:1.4%;"/>
    <td style="width:1%;"/>
    <td style="width:10.862%;"/>
    <td style="width:1%;"/>
    <td style="width:1.4%;"/>
    <td style="width:1%;"/>
    <td style="width:10.802000000000001%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.342%;"/>
    <td style="width:1%;"/>
    <td style="width:1.4%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023 vs 2022</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">$ Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">% Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except for percentage data)</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">353,922</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">345,830</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,092</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.3</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">42,722</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,936</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(1,214</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(2.8</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">218,113</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">215,829</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,284</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1.1</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(30,569</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(28,729</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(1,840</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.4</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total costs and operating expenses</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">584,188</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">576,866</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,322</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1.3</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cost of product revenue</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, cost of product revenue increased $8.1 million, or 2.3%, compared to 2022, primarily due to restructuring charges, including $23.6 million in inventory adjustments to reflect inventory at net realizable value, a $3.8 million charge for accelerated depreciation on equipment related to manufacturing facilities closed and $3.0 million in severance and other charges during 2023 as a result of our restructuring activities, which commenced in July 2023. See Note 5, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Restructuring Plan&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of this report for more information on the restructuring activities to simplify and streamline our organization and strengthen our overall effectiveness of our operations (&#8220;Restructuring Plan&#8221;). Our restructuring activities include consolidating a portion of our manufacturing facilities between certain U.S. locations, discontinuing the sale of certain product SKUs, and evaluating the fair value of finished goods and raw materials secured during the COVID-19 Period to meet increasing demand during a challenging supply chain environment in the industry. Where demand has reduced, finished goods and raw materials, whose value exceeded the projected requirements to be used before reaching their expiration date, were written down to their net realizable value. The inventory adjustments include reserved values which may be recoverable in future periods, if salvageable. Also contributing to the increase in cost of product revenue is cost inflation, primarily in raw materials as well as freight charges due to fuel costs and carrier market conditions in 2023, compared to 2022. Also, our occupancy costs and depreciation expense increased during 2023, as compared to 2022, due to expanded facilities and manufacturing equipment being placed into service towards the end of 2022 and throughout 2023. These increases were partially offset by a decrease in costs associated with lower revenue as well as a decrease in employee-related costs not related to the restructuring activities in 2023, as compared to 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Gross margin was 44.6% in 2023, compared to 56.9% in 2022. The reduction in gross margin in 2023 as compared to 2022, is primarily due to restructuring activities as noted above during 2023 to simplify and streamline our organization and strengthen the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">46</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">overall effectiveness of our operations for which there were no comparable costs in 2022. In addition, lower margins were a result of lower overall sales and production volumes, and a change in product mix, where we saw a significant decline in revenue associated with higher-margin consumable products due to the decrease in COVID-19 vaccine demand. We also experienced an increase in manufacturing costs from an increase in occupancy costs due to added capacity and an increase in depreciation expense.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Research and development expenses</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">R&amp;D expenses are related to bioprocessing products, which include personnel, supplies and other research expenses. Due to 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">R&amp;D expenses decreased $1.2 million, or 2.8%, during 2023, compared to 2022. The decrease during the periods is primarily due to a decrease in occupancy costs for facilities where R&amp;D work is performed, which more than offset the increase in employee-related costs, depreciation expense and spending on new product development during 2023, as compared to 2022.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">R&amp;D expense also includes payments made to expand our proteins product offering through our development agreement with Navigo Proteins GmbH (&#8220;Navigo&#8221;). Such expenses were $3.8 million in 2023, $2.6 million in 2022 and $2.3 million in 2021 in the form of milestone payments to Navigo.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Selling, general and administrative expenses</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">SG&amp;A costs increased by $2.3 million, or 1.1%, in 2023, as compared to 2022 primarily due to an increase in SG&amp;A costs related to the operations of FlexBiosys and Metenova, which have been included in our results of operations since their acquisition dates in April 2023 and October 2023, respectively. In addition, there were $1.7 million in one-time costs incurred from restructuring activities during 2023, for which there were no comparable costs in 2022. Partially offsetting this increase was a decrease in the amount of commissions paid out resulting from lower revenue and a decrease in employee-related costs.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Contingent consideration</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Contingent consideration represents the change in fair value of the contingent consideration obligation included in current and noncurrent contingent consideration on the consolidated balance sheets as of the end of each period. Remeasurement of the contingent consideration obligation is done each quarter and the carrying value of the obligation is adjusted to the current fair value through our consolidated statements of comprehensive income. In 2023, 2022 and 2021, actual and expected results and a change in market inputs used to calculate the discount rate, resulted in adjustments to the fair value of the contingent consideration obligation for the years ended December 31, 2023, 2022 and 2021 of ($30.6) million, ($28.7) million and $5.9 million, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Other income (expenses), net</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The table below provides detail regarding our other income (expenses), net:</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:42.128%;"/>
    <td style="width:1.42%;"/>
    <td style="width:1%;"/>
    <td style="width:11.042%;"/>
    <td style="width:1%;"/>
    <td style="width:1.42%;"/>
    <td style="width:1%;"/>
    <td style="width:11.042%;"/>
    <td style="width:1%;"/>
    <td style="width:1.42%;"/>
    <td style="width:1%;"/>
    <td style="width:11.002%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.522%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023 vs 2022</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">$ Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">% Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except for percentage data)</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Investment income</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,135</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,978</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,157</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">245.9</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest expense</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(1,951</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(1,162</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(789</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">67.9</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(12,676</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(12,676</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100.0</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amortization of debt issuance costs</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(8,075</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(1,815</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(6,260</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">344.9</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income (expenses)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,123</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(9,531</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,654</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(185.2</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total other income (expenses), net</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,556</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(5,530</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15,086</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(272.8</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)%</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">47</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Investment income</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Investment income includes income earned on invested cash balances. Our investment income increased by $17.2 million in 2023, as compared to 2022 due to an increase in interest rates on higher average invested cash balances since December 31, 2022, as well as interest earned on U.S. treasury bills purchased at the end of 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Interest expense</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Interest expense in 2023 is primarily from contractual coupon interest on the convertible debt outstanding as of December 31, 2023. On December 14, 2023, we entered into a privately negotiated exchange and subscription agreement with certain holders of the 2019 Notes and certain new investors pursuant to which we issued $600.0 million aggregate principal amount of the 2023 Notes. Interest expense in 2023 includes $1.0 million of interest on the 2019 Notes, compared to $1.1 million of interest expense on the 2019 Notes in 2022. Interest expense in 2023 also includes $0.3 million of contractual coupon interest on the 2023 Notes for which there were no comparable amounts in 2022 as well as $0.6 million in accretion of the $82.1 million debt discount on the modified notes, which includes the accretion of an increase in principal and the accretion of increased fair value of the conversion option in 2023, for which there were no comparable costs in 2022. See Note 14, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to our consolidated financial statements included in this report for more information on this transaction.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Loss on extinguishment of debt</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, as part of the Exchange Transaction, we exchanged $217.7 million in aggregate principal amount of the 2019 Notes for $309.9 million in aggregate principal amount of the 2023 Notes. Upon evaluation of the Exchange Transaction, approximately $29.6 million, of the $217.7 million in aggregate principal amount of the 2019 Notes were deemed extinguished. As a result, we recorded a $12.7 million loss on extinguishment of debt in our consolidated statements of comprehensive income in 2023, which includes a $12.6 million write-off for the increase in principal of the converted notes being extinguished and a $0.1 million write-off of unamortized debt issuance costs related to the converted notes being extinguished.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Amortization of debt issuance costs</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Transaction costs related to the issuance of the 2019 Notes and the 2023 Notes are amortized to amortization of debt issuance costs on the consolidated statements of comprehensive income. Amortization of debt issuance costs increased during 2023, as compared to 2022. Under ASC 470, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Debt&#8221;, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">any third-party costs directly related to the modification or exchange are expensed as incurred. Therefore, in 2023, we recorded $6.4 million to amortization of debt issuance costs in accordance to this guidance, which included $6.2 million of debt issuance costs directly related to the modified notes and $0.2 million of amortization of the capitalized debt issuance costs.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Other income (expenses), net</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The changes in other expenses, net in 2023, as compared to 2022, is primarily attributable to realized and unrealized foreign currency gains and losses related to transactions with customers and vendors, as well as the revaluation impact of intercompany loans with subsidiaries.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income tax provision</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Income tax provision for the years ended December 31, 2023 and 2022 was as follows:</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:42.128%;"/>
    <td style="width:1.42%;"/>
    <td style="width:1%;"/>
    <td style="width:11.042%;"/>
    <td style="width:1%;"/>
    <td style="width:1.42%;"/>
    <td style="width:1%;"/>
    <td style="width:11.042%;"/>
    <td style="width:1%;"/>
    <td style="width:1.42%;"/>
    <td style="width:1%;"/>
    <td style="width:11.002%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.522%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023 vs 2022</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">$ Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">% Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except for percentage data)</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax provision</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,555</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,181</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(10,626</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(32.0</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effective tax rate</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35.2</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15.1</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For 2023, we recorded an income tax provision of $22.6 million. The effective tax rate was 35.2% for 2023 and is based upon the income for the year ended December 31, 2023 and the composition of income in different jurisdictions. The difference in effective tax rates between 2023 and 2022 was primarily due to a loss on extinguishment of debt and a debt discount basis difference, partially offset by increased benefits from business tax credits and nontaxable contingent consideration. Our effective tax rate for 2023 was</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">48</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">higher than the U.S. statutory rate of 21% primarily due to a debt discount basis difference partially offset by business tax credits and nontaxable contingent consideration.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Non-GAAP Financial Measures</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition to our key financial metrics presented above, we provide non-GAAP adjusted income from operations, adjusted net income and adjusted EBITDA as supplemental measures to accounting principles generally accepted in the United States (&#8220;GAAP&#8221;) measures regarding our operating performance. These financial measures exclude the items detailed below and, therefore, have not been calculated in accordance with GAAP. A detailed explanation and a reconciliation of each non-GAAP financial measures to its most comparable GAAP financial measure are provided below.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We include this financial information because we believe these measures provide a more accurate comparison of our financial results between periods that more accurately reflects how management reviews its financial results and measures the performance of our ongoing operations for the periods in which such changes incurred. We excluded the impact of certain acquisition-related items and items related to the issuance of our 2023 Notes and 2019 Notes 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Non-GAAP adjusted income from operations</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Non-GAAP adjusted income from operations is measured by taking income from operations as reported in accordance with GAAP and excluding inventory step-up charges, acquisition and integration costs, restructuring costs, contingent consideration fair value adjustments 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 non-GAAP adjusted income from operations for the years ended December 31, 2023 and 2022:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:66.993%;"/>
    <td style="width:1.62%;"/>
    <td style="width:1%;"/>
    <td style="width:12.883000000000001%;"/>
    <td style="width:1%;"/>
    <td style="width:1.62%;"/>
    <td style="width:1%;"/>
    <td style="width:12.883000000000001%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">GAAP income from operations</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">54,576</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">224,670</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-GAAP adjustments to income from operations:</span></p></td>
    <td style="text-indent:20pt;vertical-align:bottom;text-align:center;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory step-up charges</span></p></td>
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,238</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition and integration costs</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,861</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,253</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Restructuring costs</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">32,200</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(30,569</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(28,729</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Intangible amortization</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,981</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,016</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-GAAP adjusted income from operations</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">94,287</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">232,210</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Non-GAAP adjusted net income and adjusted earnings per share</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Non-GAAP adjusted net income and adjusted earnings per share is measured by taking net income as reported in accordance with GAAP and excluding inventory step-up charges, acquisition and integration costs, restructuring costs, contingent consideration fair value adjustments, intangible amortization, loss on extinguishment of debt, non-cash interest expense, amortization of debt issuance costs, foreign currency impact of certain intercompany loans and the tax effects on these items. The following are reconciliations of</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">49</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">net income and fully diluted earnings per share in accordance with GAAP to non-GAAP adjusted net income and adjusted fully diluted earnings per share for the years ended December 31, 2023 and 2022:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:50.38%;"/>
    <td style="width:1.22%;"/>
    <td style="width:1%;"/>
    <td style="width:9.184000000000001%;"/>
    <td style="width:1%;"/>
    <td style="width:1.22%;"/>
    <td style="width:1%;"/>
    <td style="width:9.184000000000001%;"/>
    <td style="width:1%;"/>
    <td style="width:1.22%;"/>
    <td style="width:1%;"/>
    <td style="width:9.184000000000001%;"/>
    <td style="width:1%;"/>
    <td style="width:1.22%;"/>
    <td style="width:1%;"/>
    <td style="width:9.184000000000001%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fully<br/>Diluted</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fully<br/>Diluted</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Earnings<br/>per</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Earnings<br/>per</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Share*</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Share*</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except per share data)</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">GAAP net income</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.74</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">185,959</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.24</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-GAAP adjustments to net income:</span></p></td>
    <td style="text-indent:10pt;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory step-up charges</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,238</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.02</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition and integration costs</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,861</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.10</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,514</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.17</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Restructuring costs</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">32,200</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.57</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(30,569</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(0.54</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(28,729</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(0.50</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Intangible amortization</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,981</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.55</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,016</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.47</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,676</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.22</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-cash interest expense</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">620</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.01</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amortization of debt issuance costs</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(2)</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,075</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.14</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,815</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.03</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign currency impact of certain intercompany loans</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(4)</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(7,743</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(0.14</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Tax effect of non-GAAP charges</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,485</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.06</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(7,002</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(0.12</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-GAAP adjusted net income</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">98,401</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1.75</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">188,573</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.28</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">* Note that earnings per share amounts may not add due to rounding.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Adjusted EBITDA</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Adjusted EBITDA is measured by taking net income as reported in accordance with GAAP, excluding investment income, interest expense, amortization of debt issuance costs, income tax provision, depreciation and amortization, inventory step-up charges, acquisition and integration costs, restructuring costs, contingent consideration fair value adjustments booked through our consolidated statements of comprehensive income, loss on extinguishment of debt and foreign currency impact of certain intercompany loans. The following is a reconciliation of net income in accordance with GAAP to adjusted EBITDA for years ended December 31, 2023 and 2022:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:65.92%;"/>
    <td style="width:1.6%;"/>
    <td style="width:1%;"/>
    <td style="width:12.64%;"/>
    <td style="width:1%;"/>
    <td style="width:1.6%;"/>
    <td style="width:1%;"/>
    <td style="width:12.64%;"/>
    <td style="width:1%;"/>
    <td style="width:1.6%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">GAAP net income</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">185,959</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="background-color:#cff0fc;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-GAAP EBITDA adjustments to net income:</span></p></td>
    <td style="background-color:#cff0fc;text-indent:20pt;vertical-align:bottom;text-align:center;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:#cff0fc;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:#cff0fc;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#ffffff;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Investment income</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(24,135</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(6,978</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;">
    <td style="background-color:#cff0fc;text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest expense</span></p></td>
    <td style="background-color:#cff0fc;text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,951</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,162</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amortization of debt issuance costs</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,075</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,815</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;">
    <td style="background-color:#cff0fc;text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax provision</span></p></td>
    <td style="background-color:#cff0fc;text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,555</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,181</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Depreciation</span></p></td>
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">36,994</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">23,859</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;">
    <td style="background-color:#cff0fc;text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Intangible amortization</span></p></td>
    <td style="background-color:#cff0fc;text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31,091</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,126</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">EBITDA</span></p></td>
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">118,108</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">266,124</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="background-color:#cff0fc;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other non-GAAP adjustments:</span></p></td>
    <td style="background-color:#cff0fc;text-indent:20pt;vertical-align:bottom;text-align:center;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:#cff0fc;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:#cff0fc;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#ffffff;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory step-up charges</span></p></td>
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,238</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;">
    <td style="background-color:#cff0fc;text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition and integration costs</span></p></td>
    <td style="background-color:#cff0fc;text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,861</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,514</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Restructuring costs</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)(3)</span></p></td>
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">28,384</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;">
    <td style="background-color:#cff0fc;text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
    <td style="background-color:#cff0fc;text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(30,569</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(28,729</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,676</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;">
    <td style="background-color:#cff0fc;text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign currency impact of certain intercompany loans</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(4)</span></p></td>
    <td style="background-color:#cff0fc;text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(7,743</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjusted EBITDA</span></p></td>
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">127,955</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">246,909</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">See Note 5, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Restructuring Plan,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">in this report, for more information on the restructuring activities in 2023.</span></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">50</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">(2)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">See Note 2, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Summary of Significant Accounting Policies - Earnings Per Share,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">in this report, for more information on the effects of adopting ASU 2020-06, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Debt - Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging - Contracts in Entity's Own Equity (Subtopic 815-40),&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">which we adopted effective January 1, 2022, to these financial statement line items.</span></div></div>
  <div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">(3)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">Excludes $3.8 million of accelerated depreciation related to the Restructuring Plan. This amount is included in the depreciation line item of this table.</span></div></div>
  <div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">(4)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">In 2023 we recorded foreign currency gains on certain intercompany loans. The impact was recorded to other income (expenses), net in our consolidated statements of comprehensive income.</span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Liquidity and Capital Resources</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have financed our operations primarily through revenues derived from product sales, the issuance of the 2016 Notes in May 2016, our 2019 Notes in July 2019, the 2023 Notes in December 2023 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At December 31, 2023, we had cash and cash equivalents of $751.3 million compared to cash and cash equivalents of $523.5 million at December 31, 2022. There were no restrictions on cash as of December 31, 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On March 10, 2023, Silicon Valley Bank (&#8220;SVB&#8221;) was closed by the California Department of Financial Protection and Innovation, which appointed the Federal Deposit Insurance Corporation (&#8220;FDIC&#8221;) as receiver. Subsequently, the U.S. Treasury, Federal Reserve and FDIC announced that SVB depositors would have access to all of their money. We have a banking relationship with SVB and hold cash, cash equivalents and marketable securities of $0.1 million as of December 31, 2023 in SVB depository accounts to cover short-term operational payments. While we have not experienced any losses in such accounts, the recent failure of SVB caused us to utilize our accounts at other financial institutions in order to mitigate potential operational risks stemming from the temporary inability to access funds in our SVB operating accounts. As a result of bank failures, such as SVB, our access to funding sources in amounts adequate to finance or capitalize our current and projected future business operations could be significantly impaired and could negatively impact the financial institutions with which we have direct arrangements, or the financial services industry or economy in general.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, we acquired two companies for an aggregate of $186.6 million in cash, net of cash acquired. In connection with the acquisitions, the Company has an obligation to pay up to $52.0 million (undiscounted) in contingent consideration earnout payments in cash over a two-year earnout period beginning January 1, 2023 and ending December 31, 2024). See Note 3, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measurements,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and Note 4, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquisitions,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for additional information.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On December 14, 2023, we issued $600.0 million aggregate principal amount of our 2023 Notes in Exchange and Subscription Agreements with a limited number of holders of our outstanding 2019 Notes and certain other investors. Pursuant to the Exchange and Subscription Agreements, we exchanged $217.7 million aggregate principal amount of the 2019 Notes for $309.9 million in aggregate principal amount of the 2023 Notes (the "Exchange Transaction") and issued $290.1 million aggregate principal amount of the 2023 Notes (the "Subscription Transactions") for $290.1 million in cash. Immediately following the closing of the aforementioned transactions, the exchanged 2019 Notes were cancelled and $69.7 million in aggregate principal amount of the 2019 Notes remained outstanding. We evaluated all exchanges and determined approximately $29.6 million of the exchanged notes were accounted for as extinguishment of debt and approximately $188.1 million were accounted for as modification of debt. As a result, we recognized a $12.7 million loss on extinguishment of debt on our consolidated statement of comprehensive income in 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Proceeds from the Subscription Transactions amounted to $276.1 million after debt issuance costs of $14.0 million. The exchange resulted in $6.2 million of the debt issuance costs related to the modified notes to be recorded to amortization of debt issuance costs in our 2023 consolidated statement of comprehensive income under the rules of modification accounting. The remaining debt issuance costs of $7.8 million as well as $0.7 million of unamortized costs carried over from the 2019 Notes at the exchange date, were capitalized within long-term debt (as a contra-liability) in our consolidated balance sheets as of December 31, 2023 and will be amortized as an adjustment to amortization of debt issuance costs over the five-year term of the 2023 Notes in our consolidated statements of comprehensive income. The 2023 Notes are senior, unsecured obligations of the Company, and bear interest at a rate of 1.00% per year. Interest is payable semi-annually in arrears on each June 15 and December 15, commencing on June 15, 2024. The 2023 Notes will mature on December 15, 2028, unless earlier redeemed, repurchased or converted.</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">51</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prior to the close of business on the business day immediately preceding September 15, 2028, the 2023 Notes will be convertible at the option of the holders of 2023 Notes only upon the satisfaction of specified conditions and during certain periods into cash up to their principal amount, and into cash, shares of the Company's common stock or a combination of cash and the Company's common stock, at the Company's election, for the conversion value above the principal amount, if any. Thereafter until the close of business on the second scheduled trading day immediately preceding the maturity date, the 2023 Notes will be convertible at the options of the holders of 2023 Notes at any time regardless of these conditions.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2023, the closing price of our 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 2024, the quarter immediately following the quarter when the conditions are met, as stated in the terms of the 2019 Notes. These conditions have been met each quarter since the third quarter of 2020. As a result, as of the date of this filing and prior to the Exchange Transaction, we received requests to convert $0.2 million aggregate principal amount of the 2019 Notes and all but $0.1 million of the requests have been settled as of December 31, 2023. The remaining conversions will settle in the first quarter of 2024. The conversions resulted in the issuance of a nominal number of shares of our common stock to the note holders. Because the 2019 Notes mature within one year of the report date, we classify the carrying value of the 2019 Notes of $69.5 million as current liabilities on our consolidated balance sheets at December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, our Board authorized the repurchase of up to $25.0 million of our common stock concurrent with the issuance of the 2023 Notes. The authorization does not obligate us to acquire a specific number of shares during any period and does not have an expiration date, but it may be modified, suspended, or discontinued at any time at the discretion of our Board. In December 2023, we used $14.4 million of cash of the proceeds from the issuance of the 2023 Notes to repurchase and retire 92,090 shares of our common stock at an average price of $156.22 per share, including $0.02 per share commission.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, we had lease arrangements for certain equipment and facilities including corporate and manufacturing sites. As of December 31, 2023, the Company had fixed lease payment obligations of $132.2 million, with $5.6 million payable within 12 months. See Note 6, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Leases,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for additional information.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, we had other purchase obligations primarily consisting of purchase commitments with certain vendors and open purchase orders for the procurement of raw materials for manufacturing. As of December 31, 2023, the Company had other purchase obligations of $34.3 million, payable within 12 months.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cash flows</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:57.477%;"/>
    <td style="width:1.399%;"/>
    <td style="width:1%;"/>
    <td style="width:10.776%;"/>
    <td style="width:1%;"/>
    <td style="width:1.399%;"/>
    <td style="width:1%;"/>
    <td style="width:10.776%;"/>
    <td style="width:1%;"/>
    <td style="width:1.399%;"/>
    <td style="width:1%;"/>
    <td style="width:10.776%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023 vs 2022</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">$ Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="10" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;min-width:fit-content;">Cash provided by (used in):</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating activities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">113,918</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">172,083</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(58,165</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Investing activities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(123,275</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(233,236</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">109,961</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Financing activities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">248,961</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(13,337</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">262,298</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of exchange rate changes on cash, cash<br/>&#160;&#160;&#160;equivalents and restricted cash</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(11,739</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(5,866</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(5,873</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net increase (decrease) in cash, cash equivalents<br/>&#160;&#160;&#160;and restricted cash</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">227,865</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(80,356</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">308,221</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Operating activities</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For 2023, our operating activities provided cash of $113.9 million reflecting net income of $41.6 million and non-cash charges totaling $81.0 million primarily related to amortization of inventory step-up charges, depreciation, intangible amortization,  amortization of debt discount and issuance costs, contingent consideration fair value adjustments, deferred income taxes, stock-based compensation charges and loss on extinguishment of debt. A decrease in inventory provided $41.0 million of which $23.6 million was related to the Restructuring Plan. An increase in prepaid expenses, primarily related to prepaid taxes and insurance as well as subscriptions, consumed $13.0 million. A decrease in accounts payable and accrued expenses consumed  $37.7 million and was due to</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">52</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the timing of payments to vendors as well as the payment of employee bonuses related to 2022 during 2023. The remaining cash provided by operating activities resulted from favorable changes in various other working capital accounts.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For 2022, our operating activities provided cash of $172.1 million reflecting net income of $186.0 million and non-cash charges totaling $49.9 million primarily related to depreciation, amortization, contingent consideration adjustments, amortization of debt issuance costs, deferred income taxes and stock-based compensation charges. An increase in accounts receivable consumed $3.6 million of cash and was primarily driven by the 19.5% year-to-date increase in revenue in 2022, as compared to 2021. Additionally, we had an increase in inventory of $57.2 million to support expected increases in future revenue. Accounts payable decreased $8.2 million due to the timing of payments to vendors and accrued expenses decreased $2.0 million due to corporate income taxes paid. Offsetting these uses of cash was a $4.1 million net increase in operating lease liabilities due to new operating leases entered into during 2022 and a $2.4 million decrease in prepaid expenses, including corporate income taxes. The remaining cash used in operating activities resulted from unfavorable changes in various other working capital accounts.</span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Investing activities</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our investing activities consumed $123.3 million of cash in 2023, primarily due to $186.6 million in cash (net of cash received) used for the 2023 acquisitions of Metenova and FlexBiosys, in the aggregate. Capital expenditures consumed $39.0 million in 2023, as we continue to increase our manufacturing capacity worldwide. Of these expenditures, $2.8 million represented capitalized costs related to our internal-use software for 2023. These uses of cash were partially offset by the maturity of our short-term investment in U.S. treasury securities in June 2023, which provided cash of $102.3 million.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our investing activities consumed $233.2 million of cash during 2022, mainly due to $88.3 million of capital expenditures in 2022 as we continued to increase our manufacturing capacity worldwide. Of these expenditures, $3.5 million represented capitalized costs related to our internal-use software for 2022. In addition, in September 2022, the Company paid a one-time, non-refundable, non-creditable upfront payment to Daylight as required under the Daylight Agreement for the commercialization and sale of Culpeo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">QCL-IR Liquid Analyzer. In December 2022, the Company invested $100.0 million in short-term U.S. treasury securities.</span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Financing activities</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2023, cash provided by financing activities of $249.0 million included $290.1 million of proceeds from the issuance of the 2023 Notes in December 2023 and proceeds from stock option exercises during 2023 were $1.1 million. Offsetting these activities was $14.4 million for the buyback of 92,090 shares of our common stock, $13.2 million in cash disbursed for shares withheld to cover employee income tax due upon the vesting and release of restricted stock units, $7.3 million paid for debt issuance costs related to the 2023 Notes and the payment of $7.3 million to settle the cash portion of the First Earnout Year contingent earnout obligation related to our acquisition of Avitide in September 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our financing activities consumed $13.3 million of cash in 2022, which included cash disbursed in relation to shares withheld to cover employee income tax due upon the vesting and release of restricted stock units of $17.0 million. This was partially offset by proceeds received from stock option exercises during the period of $3.7 million.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Working capital increased by $359.0 million to $952.9 million at December 31, 2023 from $593.9 million at December 31, 2022 due to various changes noted above, primarily the exchange of $217.7 million in aggregate principal of the 2019 Notes in December 2023.</span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Effect of exchange rate changes on cash, cash equivalents and restricted cash</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The effect of exchange rate changes on cash during 2023 is a result of the strengthening of the Swedish krona against the U.S. dollar by 3%, the strengthening of the Euro against the U.S. dollar by 3% and the strengthening of the British pound against the U.S. dollar by 5%.</span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Off-Balance Sheet Arrangements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We do not have any special purpose entities or off-balance sheet financing arrangements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Capital Requirements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our future capital requirements will depend on many factors, including the following:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the expansion of our bioprocessing business; </span></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">53</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the ability to sustain sales and profits of our bioprocessing products and successfully integrate them into our business; </span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">our ability to acquire additional bioprocessing products; </span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the scope of and progress made in our R&amp;D activities;</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the scope of investment in our intellectual property portfolio;</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">contingent consideration earnout payments resulting from our acquisitions; </span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the extent of any share repurchase activity; </span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the success of any proposed financing efforts;</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">general economic and capital markets;</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">change in accounting standards;</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the impact of inflation on our operations, including our expenditures on raw material and freight charges;</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">fluctuations in foreign currency exchange rates; and</span></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">costs associated with our ability to comply with emerging environmental, social and governance standards.</span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 2024 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We plan to continue to invest in our bioprocessing business and in key R&amp;D 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, for example, due to acquisition-related financing needs or lower demand for our products, among potential other events, 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 shareholders, 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Net Operating Loss Carryforwards</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At December 31, 2023, we had federal net operating loss carryforwards of $31.1 million, state net operating loss carryforwards of $1.5 million, and foreign net operating loss carryforwards of $4.9 million. The state net operating loss carryforwards will expire at various dates through 2043, while the federal and foreign net operating loss carryforwards have unlimited carryforward periods and do not expire. We had federal and state business tax credits carryforwards of $5.0 million available to reduce future federal and state income taxes. The business tax credits carryforwards will expire at various dates through December 2043. 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">54</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Foreign Earnings</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023, we have accumulated undistributed earnings generated by our foreign subsidiaries of approximately $212.4 million. Because $5.7 million of such earnings have previously been subject to the one-time transition tax on foreign earnings required by the Tax Cuts and Jobs Act enacted in December 2017, 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 31, 2023, we have not provided for taxes on outside basis differences of our foreign subsidiaries as it is not practicable and 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Effects of Inflation</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our assets are primarily monetary, consisting of cash and cash equivalents and marketable securities. 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 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_7a_quantitative_qualitative_disclos"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 7A. QUANTITATIVE AND QUALITAT</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">IVE DISCLOSURES ABOUT MARKET RISK</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Interest Rate Risk</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have historically held investments in commercial paper, U.S. treasury and government 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 31, 2023. Our investment portfolio consists of cash and cash equivalents (cash and money market funds) that total $751.3 million on the consolidated balance sheets as of December 31, 2023. Our cash equivalent investments (money market funds) have short-term maturity periods that dampen the impact of market or interest rate risk. As a result, a hypothetical 100 basis point increase in interest rates would have no effect on our cash position as of December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We manage our investment portfolio in accordance with our investment policy or approval by the Board of Directors. The primary objectives of our investment policy are to preserve principal, maintain a high degree of liquidity to meet operating and other needs, and obtain competitive returns subject to prevailing market conditions without significantly increasing risk. To achieve this objective, we maintain our portfolio of cash equivalents in high-quality securities, including money market funds.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Foreign Exchange Risk</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 krona, Euro and Chinese yuan. 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Although a majority of our contracts are denominated in U.S. dollars, 38.5% and 38.2% of total revenues were denominated in foreign currencies during 2023 and 2022, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_8_financial_statements_supplementar"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 8. FINANCIAL STATEMEN</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">TS AND SUPPLEMENTARY DATA</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Financial statements and supplementary data required by Item 8 are set forth at the pages indicated in Item 15(a) below and are incorporated herein by reference.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">55</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_9_changes_in_disagreements_with_acc"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 9. CHANGES IN AND DISAGREEMENTS WITH ACCOUN</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">TANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">None.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_9a_controls_procedures"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 9A. CONTROLS</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> AND PROCEDURES</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">(a) Disclosure Controls and Procedures.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 Rules 13a-15(e) or 15d-15(e) under the Securities Exchange Act of 1934 (&#8220;Exchange Act&#8221;) and as required by paragraph (b) of Rules 13a-15 or 15d-15 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 December 31, 2023, the Company&#8217;s disclosure controls and procedures were not effective as of such date due to a material weakness in our internal control over financial reporting, as described below.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">(b) Report of Management on Internal Control Over Financial Reporting.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Management of the Company is responsible for establishing and maintaining adequate internal control over financial reporting. Internal control over financial reporting is defined in Rule 13a-15(f) and 15d-15(f) 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 (&#8220;Board&#8221;), 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:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="margin-left:7.861%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.6173607267280956%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">pertain to the maintenance of records that in reasonable detail accurately and fairly reflect the transactions and dispositions of the assets of the Company; </span></div></div>
  <div style="margin-left:7.861%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.6173607267280956%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 </span></div></div>
  <div style="margin-left:7.861%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.6173607267280956%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. </span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Management assessed the effectiveness of the Company&#8217;s internal control over financial reporting as of December 31, 2023. In making this assessment, management used the criteria established in </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Internal Control &#8211; Integrated Framework</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework) (COSO).</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We acquired FlexBiosys Inc. (&#8220;FlexBiosys&#8221;) on April 17, 2023 and Metenova Holding AB ("Metenova") on October 2, 2023. The financial results of each of these acquisitions are included in our audited consolidated financial statements as of December 31, 2023. The Company's consolidated total assets as of December 31, 2023 includes $43.7 million and $197.2 million from the FlexBiosys and Metenova businesses, respectively. The Company's consolidated revenue for the year ended December 31, 2023 includes $2.5 million and $5.0 million from the FlexBiosys and Metenova businesses, respectively. As these acquisitions occurred during 2023, the scope of our assessment of our internal control over financial reporting does not include these acquisitions. These exclusions are in accordance with the Security and Exchange Commission's general guidance that an assessment of a recently acquired business may be omitted from our scope in the year of such acquisition.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 Company is implementing the ERP system in phases and will continue until all current and future subsidiaries are using it. The fifth phase of implementation was</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">56</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">completed during the second quarter of 2023. As a result of this implementation, we modified certain existing internal control over financial reporting as well as implemented new controls and procedures related to the new ERP system as of December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In conjunction with management&#8217;s assessment of internal control over financial reporting in the fourth quarter of  2023, management identified a material weakness in the operation of our controls over the deferred income tax accounting for complex and non-routine transactions. Specifically, management did not have adequate supervision and review controls over the complex accounting for deferred income tax on the exchange of our outstanding 0.375% Convertible Senior Notes due 2024 and the issuance of 1.00% Convertible Senior Notes due 2028, including work performed by external advisors and the internal review of such transaction and related analyses. This material weakness did not result in an error in any of our previously issued consolidated financial statements including the consolidated financial statements as of and for the year ended December 31, 2023.  Based on this material weakness, the Company&#8217;s management concluded that at December 31, 2023, the Company&#8217;s internal control over financial reporting was not effective.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income tax accounting related to non-routine transactions</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Following identification of the material weakness, and as part of our commitment to strengthen our internal control over financial reporting, we are implementing remedial actions under the oversight of the Audit Committee of our Board to address these deficiencies. On highly-technical, non-routine and complex accounting transactions, we will continue to engage nationally recognized third-party advisors with the requisite skills and technical expertise to assist us in assessing, performing and reviewing such transactions; however we will:</span></p>
  <div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Improve our process to identify and select qualified third-party advisors, including enhanced review of capabilities and work performed, specifically related to the review of tax advice and related accounting guidance. </span></div></div>
  <div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Implement a process to verify the controls, processes and internal reviews performed by third-party advisors.</span></div></div>
  <div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Consider whether the non-routine transaction warrants additional advisor oversight or validation of analyses based on complexity or changes in applicable regulations.</span></div></div>
  <div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Increase education for internal resources on complex transactions to enhance diligence capabilities with third-party advisors. </span></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We will continue to monitor the design and operating effectiveness of these and other processes, procedures and controls and make any further changes management determines appropriate.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our CEO and CFO have certified that, based on their knowledge, our consolidated financial statements and other financial information included in this Annual Report on Form 10-K (&#8220;Form 10-K&#8221;), fairly present, in all material respects, our financial condition, results of operations and cash flows as of, and for, the periods presented in this Form 10-K.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Ernst &amp; Young LLP, the independent registered public accounting firm that audited our consolidated financial statements included in this Form 10-K, has issued an unqualified opinion on our consolidated financial statements and has issued an attestation report on our internal control over financial reporting as of December 31, 2023.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Changes in Internal Control Over Financial Reporting</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Except for the material weakness described above, there has been no change in our internal control over financial reporting as defined in Rules 13a-15(f) and 15d-15(f) that occurred during the quarter ended December 31, 2023 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting. Consolidated financial statements reflected in our current Form 10-K are accurately stated.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">(c) Attestation Report of the Independent Registered Public Accounting Firm.</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">57</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">To the Stockholders and the Board of Directors of Repligen Corporation:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Opinion on Internal Control Over Financial Reporting</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have audited Repligen Corporation&#8217;s internal control over financial reporting as of December 31, 2023, based on criteria established in Internal Control&#8212;Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework) (the COSO criteria). In our opinion, because of the effect of the material weakness described below on the achievement of the objectives of the control criteria, Repligen Corporation (the Company) has not maintained effective internal control over financial reporting as of December 31, 2023, based on the COSO criteria.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As indicated in the accompanying Report of Management on Internal Control 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 Metenova Holding AB ("Metenova") and FlexBiosys Inc. ("FlexBiosys"), which is included in the 2023 consolidated financial statements of the Company and constituted $197.2 million and $43.7 million of total assets, respectively, as of December 31, 2023 and $5.0 million and $2.5 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 Metenova and FlexBiosys.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A material weakness is a deficiency, or combination of deficiencies, in internal control over financial reporting, such that there is a reasonable possibility that a material misstatement of the company&#8217;s annual or interim financial statements will not be prevented or detected on a timely basis. The following material weakness has been identified and included in management&#8217;s assessment. Management has identified a material weakness in controls related to income tax accounting related to non-routine transactions.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 31, 2023 and 2022, the related consolidated statements of comprehensive income, stockholders' equity and cash flows for each of the three years in the period ended December 31, 2023, and the related notes. This material weakness was considered in determining the nature, timing and extent of audit tests applied in our audit of the 2023 consolidated financial statements, and this report does not affect our report dated February 22, 2024, which expressed an unqualified opinion thereon.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Basis for Opinion</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Definition and Limitations of Internal Control Over Financial Reporting</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 control over financial reporting includes those policies and procedures that (1) 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) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">58</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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) 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.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p>
  <p style="text-indent:-2.319%;padding-left:2.267%;font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">/s/ Ernst &amp; Young LLP</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Boston, Massachusetts</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">February 22, 2024</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">(d) Changes in Internal Control Over Financial Reporting</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There have been no changes in our internal control over financial reporting identified in connection with the evaluation required by paragraph (d) of Exchange Act Rule 13a-15 or Rule 15d-15 that occurred in the three months ended December 31, 2023 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_9b_or_information"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 9B. OTHER</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> INFORMATION</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_15f36920-8fb7-41a0-a2a4-3a81fdf86895" contextRef="C_e2c655d5-4410-4248-981e-81f625c5018a" name="ecd:MtrlTermsOfTrdArrTextBlock" escape="true" continuedAt="F_15f36920-8fb7-41a0-a2a4-3a81fdf86895_1"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Rule 10b5-1 Trading Plans</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2023, </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_baf601ef-0441-4145-a91e-e87ffd643822" contextRef="C_b6787db1-52de-4a36-a87c-ee2149a29d57" name="ecd:TrdArrIndName"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Tony J. Hunt</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_25886645-3476-4717-b355-c0c060ecb60f" contextRef="C_b6787db1-52de-4a36-a87c-ee2149a29d57" name="ecd:TrdArrIndTitle"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Chief Executive Officer</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_7c4b8e26-e62b-490f-92d2-5b694c78dd23" contextRef="C_b6787db1-52de-4a36-a87c-ee2149a29d57" name="ecd:Rule10b51ArrAdoptedFlag" format="ixt:fixed-true"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">adopted</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> a trading plan intended to satisfy Rule 10b5-1(c) under the Securities Exchange Act of 1934 ("Exchange Act") on </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_028d62b9-7de9-482b-9832-bedbc6fd03b5" contextRef="C_b6787db1-52de-4a36-a87c-ee2149a29d57" name="ecd:TrdArrAdoptionDate"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">November 9, 2023</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to sell up to </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1f8c3b52-5080-432c-a00d-9be5287de8b9" contextRef="C_c793d278-3837-4a4b-b733-7fd7f5b62aab" name="ecd:TrdArrSecuritiesAggAvailAmt" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">78,216</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of our common stock between March 8, 2024 and </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_4d8da790-c7f6-4b3e-a88e-612d1282577a" contextRef="C_b6787db1-52de-4a36-a87c-ee2149a29d57" name="rgen:TrdArrExpirationDate"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">November 15, 2024</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the date this plan expires. The trading plan will cease upon the earlier of November 15, 2024 or the sale of all shares subject to the trading plan.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_15f36920-8fb7-41a0-a2a4-3a81fdf86895_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2023, none of our other directors or officers (as defined in Rule 16a-1(f) of the Exchange Act) </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a0f1fbac-7f2d-477c-864c-69fb9eee9773" contextRef="C_f52d73d5-79c2-4521-af0b-62d744b84c3e" name="ecd:Rule10b51ArrAdoptedFlag" format="ixt:fixed-false"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">adopted</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_fe301af3-4cee-44ea-926c-34c66c67fdf8" contextRef="C_f52d73d5-79c2-4521-af0b-62d744b84c3e" name="rgen:Rule10B51ArrModifiedFlag" format="ixt:fixed-false"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">modified</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, or </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_8043d76a-e178-4ddc-bec2-a0ccdc418737" contextRef="C_f52d73d5-79c2-4521-af0b-62d744b84c3e" name="ecd:Rule10b51ArrTrmntdFlag" format="ixt:fixed-false"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">terminated</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> a Rule 10b5-1 trading arrangement.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">   </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_9c"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 9C.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTIONS</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Not applicable.</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">59</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="part_iii"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">PART </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">III</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Pursuant to General Instructions G to Form 10-K, 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 2024 Annual Meeting of Stockholders.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">60</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="part_iv"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">PART</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> IV</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_15_exhibits_financial_statement_sch"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 15. EXHIBITS AND FINAN</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CIAL STATEMENT SCHEDULES</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following documents are filed as part of this Annual Report on Form 10-K ("Form 10-K"):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(a) (1)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Financial Statements</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The financial statements required by this item are submitted in a separate section beginning on page 67 of this report, as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:93%;"/>
    <td style="width:7%;"/>
   </tr>
   <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;">
    <td style="padding-left:0.1in;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;border-bottom:0.5pt solid;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Page</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#report_independent_registered_public_acc"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Report of Independent Registered Public Accounting Firm</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">68</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_balance_sheets"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consolidated Balance Sheets as of December 31, 2023 and December 31, 2022</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">71</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_statements_comprehensive_in"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consolidated Statements of Comprehensive Income for the Years Ended December 31, 2023, 2022 and 2021</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">72</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_statements_stockholders_equ"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consolidated Statements of Stockholders&#8217; Equity for the Years Ended December 31, 2023, 2022 and 2021</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">73</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_statements_cash_flows"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consolidated Statements of Cash Flows for the Years Ended December 31, 2023, 2022 and 2021</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">74</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#notes_to_consolidated_financial_statemen"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Notes to Consolidated Financial Statements</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">75</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(a) (2)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Financial Statement Schedules</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">None.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(a) (3)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Exhibits</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Exhibits which are filed as part of this Form 10-K or which are incorporated by reference are set forth in the Exhibit Index hereto.</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">61</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">EXHIBIT INDEX</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:10.58%;"/>
    <td style="width:1%;"/>
    <td style="width:88.42%;"/>
   </tr>
   <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Exhibit</span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Number</span></p></td>
    <td style="vertical-align:top;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Document Description</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.1</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000091205799005920/0000912057-99-005920.txt"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Restated Certificate of Incorporation dated June 30, 1992, as amended September 17, 1999 (filed as Exhibit 3.1 to Repligen Corporation&#8217;s Quarterly Report on Form 10-Q for the quarter ended September 30, 1999 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.2</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000091205799005920/0000912057-99-005920.txt"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Certificate of Amendment to the Certificate of Incorporation of Repligen Corporation, effective as of May 16, 2014 (filed as Exhibit 3.1 to Repligen Corporation&#8217;s Current Report on Form 8-K filed on May 19, 2014 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.3</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312523150037/d444083dex31.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Certificate of Amendment to the Certificate of Incorporation of Repligen Corporation, effective as of May 19, 2023 (filed as Exhibit 3.1 to Repligen Corporation's Current Report on Form 8-K filed on May 22, 2023 and incorporated herein by reference).</span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.4</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312521020747/d117561dex31.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Third Amended and Restated Bylaws (filed as Exhibit 3.1 to Repligen Corporation&#8217;s Current Report on Form 8-K filed on January 28, 2021 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.1</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000089155402003661/d50741_ex4-1.txt"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Specimen Stock Certificate (filed as Exhibit 4.1 to Repligen Corporation&#8217;s Annual Report on Form 10-K for the year ended March 31, 2002 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.2</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312516600591/d184696dex41.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Base Indenture, dated as of July 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 8-K filed on July 22, 2019 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.3</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312519199075/d780262dex42.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">First Supplemental Indenture, dated as of July 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 8-K filed on July 22, 2019 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.4</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312522068716/d316288dex41.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Second Supplemental Indenture, dated as of March 4, 2022, by and between Repligen Corporation and Wilmington Trust, National Association, as trustee (filed as Exhibit 4.1 to Repligen Corporation's Form 8-K filed on March 8, 2022).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.5</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312516600591/d184696dex42.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Form of 0.375% Convertible Senior Notes due 2024 (included in Exhibit 4.3).</span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.6</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312523296692/d654708dex41.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Base Indenture, dated as of December 14, 2023, by and between Repligen Corporation and Wilmington Trust, National Association (filed as Exhibit 4.1 to Repligen Corporation's Current Report on Form 8-K filed on December 15, 2023 and incorporated herein by reference).</span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.7</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312523296692/d654708dex41.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Form of 1.00% Convertible Senior Notes due 2028 (included in Exhibit 4.6).</span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.8</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312520050136/d862842dex45.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Description of Certain Registrant&#8217;s Securities (filed as Exhibit 4.5 to Repligen Corporation&#8217;s Annual Report on Form 10-K for the year ended December 31, 2019 and incorporated by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.1*</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312505242248/dex101.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Repligen Executive Incentive Compensation Plan (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Current Report on Form 8-K filed on December 14, 2005 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.2</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000089155402000671/d27862_ex10-1.txt"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">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 10-K for the year ended December 31, 2019 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.3#</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312510136879/dex1017.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Strategic Supplier Alliance Agreement dated January 28, 2010 by and between Repligen Corporation and GE Healthcare Bio-Sciences AB (as amended to date) (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Quarterly Report on Form 10-Q for the quarter ended March 31, 2016 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.4*</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312514222092/d738592dex991.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Repligen Corporation Amended and Restated 2012 Stock Option and Incentive Plan (filed as Exhibit 99.1 to Repligen Corporation&#8217;s Form S-8 filed on June 2, 2014 and incorporated herein by reference).</span></a></p></td>
   </tr>
  </table>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">62</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:10.58%;"/>
    <td style="width:1%;"/>
    <td style="width:88.42%;"/>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.5*+</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="rgen-ex10_5.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Repligen Corporation Amended and Restated Non-Employee Directors' Compensation Policy.</span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.6</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312516589062/d153757dex101.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Form of Indemnification Agreement (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Current Report on Form 8-K filed on May 12, 2016 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.7</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312518036440/d445328dex101.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Lease Agreement, dated February 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 8-K filed on February 8, 2018 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.8*</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312518236196/d491984dex101.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">2018 Repligen Corporation Stock Option and Incentive Plan (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Quarterly Report on Form 10-Q for the quarter ended June 30, 2018 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.9*</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312519060645/d682580dex1017.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Letter Agreement, dated as of September 3, 2016 by and between Repligen Corporation and Ralf Kuriyel (filed as Exhibit 10.17 to Repligen Corporation&#8217;s Annual Report on Form 10-K for the year ended December 31, 2018 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.10*</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312522165344/d339987dex101.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Repligen Corporation Amended and Restated Severance and Change in Control Plan, effective as of May 26, 2022 (filed as Exhibit 10.1 to Repligen Corporation's Form 8-K filed June 1, 2022).</span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.11*</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000095017023056871/rgen-ex10_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Employment Agreement, dated as of September 8, 2023, by and between Repligen Corporation and Olivier Loeillot (filed as Exhibit 10.1 to Repligen Corporation's Form 10-Q for the quarter ended September 30, 2023).</span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.12*</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312523233111/d554431dex101.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Employment Agreement, dated as of September 8, 2023, by and between Repligen Corporation and Jason Garland (filed as Exhibit 10.1 to Repligen Corporation's Current Report on Form 8-K filed on September 12, 2023).</span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.13</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312520191159/d29647dex101.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">First Amendment to Lease Agreement, dated as of July 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 8-K filed on July 10, 2020 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.14*</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/730272/000119312521225812/d200434dex101.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Repligen Corporation 2018 Stock Option and Incentive Plan, Sub-Plan for French-Qualified Restricted Stock Units (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Form 10-Q for the quarter ended June 30, 2021 and incorporated herein by reference).</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19.1</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="rgen-ex19_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Repligen Corporation Amended and Restated Statement of Company Policy on Insider Trading and Disclosure &amp; Trading Procedures for Insiders.</span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21.1+</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="rgen-ex21_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Subsidiaries of the Registrant.</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">23.1+</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="rgen-ex23_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consent of Ernst &amp; Young LLP, Independent Registered Accounting Firm.</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24.1+</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="#power_attorney"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Power of Attorney (included on signature page).</span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31.1+</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="rgen-ex31_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Rule 13a-14(a)/15d-14(a) Certification.</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31.2+</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="rgen-ex31_2.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Rule 13a-14(a)/15d-14(a) Certification.</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">32.1+</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="rgen-ex32_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Certification Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</span><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;"> </span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">97.1</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><a href="rgen-ex97_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Repligen Corporation Compensation Recovery Policy.</span></a></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101.INS</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inline XBRL Instance Document-the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101.SCH</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inline XBRL Taxonomy Extension Schema With Embedded Linkbase Documents.</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:9.35pt;vertical-align:top;"><p style="margin-left:9.35pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">104</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cover page formatted as Inline XBRL and contained in Exhibits 101.*).</span></p></td>
   </tr>
  </table>
  <p style="margin-left:3.333%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.75pt solid;margin-right:83.333%;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"># Confidential treatment obtained as to certain portions.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">* Management contract or compensatory plan or arrangement.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">+ Filed electronically herewith.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">63</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The exhibits listed above are not contained in the copy of the Annual Report on Form 10-K distributed to stockholders. Upon the request of any stockholder entitled to vote at the 2024 Annual Meeting, the Registrant will furnish that person without charge a copy of any exhibits listed above. Requests should be addressed to Repligen Corporation, 41 Seyon Street, Waltham, MA 02453.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:-11.111%;padding-left:10%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_16_10k_summary"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 16. 10</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">-K SUMMARY</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We may voluntarily include a summary of information required by Annual Report on Form 10-K under Item 16. We have elected not to include such summary information.</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">64</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="signatures"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">SIGNAT</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">URES</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:48.74%;"/>
    <td style="width:1%;"/>
    <td style="width:3%;"/>
    <td style="width:47.26%;"/>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">REPLIGEN CORPORATION</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Date: February 22, 2024</span></p></td>
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">By:</span></p></td>
    <td style="vertical-align:top;border-bottom:0.75pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">S</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/    T</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">ONY</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;J. H</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">UNT</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">        </span></p></td>
   </tr>
   <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;">
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Tony J. Hunt</span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Chief Executive Officer</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">65</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="power_attorney"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">POWER OF </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ATTORNEY</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">KNOW ALL PERSONS BY THESE PRESENTS, that each person whose signature appears below hereby makes, constitutes and appoints Tony J. Hunt and Jason K. Garland with full power to act without the other, his true and lawful attorney-in-fact 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 Annual Report on Form 10-K, and to file the same with all exhibits thereto, and other documents in connection therewith, with the Securities and Exchange Commission, granting unto said attorney-in-fact 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 attorney-in-fact and agents of any of them, or any substitute or substitutes, lawfully do or cause to be done by virtue hereof.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:28.68%;"/>
    <td style="width:1%;"/>
    <td style="width:40.66%;"/>
    <td style="width:1%;"/>
    <td style="width:28.66%;"/>
   </tr>
   <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Signature</span></p></td>
    <td style="vertical-align:top;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Title</span></p></td>
    <td style="vertical-align:top;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Date</span></p></td>
   </tr>
   <tr style="height:0.7pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">S</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/    T</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">ONY</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;J. H</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">UNT</span></p><p style="border-top:1pt solid;padding-top:1pt;font-size:8pt;margin-top:1pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Tony J. Hunt</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Chief Executive Officer and Director</span></p><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(Principal executive officer)</span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 22, 2024</span></p></td>
   </tr>
   <tr style="height:0.7pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;text-align:left;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:middle;"><p style="margin-left:5.05pt;text-indent:0;font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">S</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/    J</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">ASON</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;K. G</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">ARLAND</span></p><p style="border-top:1pt solid;padding-top:1pt;font-size:8pt;margin-top:1pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Jason K. Garland</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Chief Financial Officer</span></p><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(Principal financial and accounting officer)</span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 22, 2024</span></p></td>
   </tr>
   <tr style="height:0.7pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;text-align:left;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:middle;"><p style="margin-left:5.05pt;text-indent:0;font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">S</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/    K</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">AREN</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;D</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">AWES</span></p><p style="border-top:1pt solid;padding-top:1pt;font-size:8pt;margin-top:1pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Karen Dawes</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Chairperson of the Board</span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 22, 2024</span></p></td>
   </tr>
   <tr style="height:0.7pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;text-align:left;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:middle;"><p style="margin-left:5.05pt;text-indent:0;font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">S</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/    N</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">ICOLAS </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">M. B</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">ARTHELEMY</span></p><p style="border-top:1pt solid;padding-top:1pt;font-size:8pt;margin-top:1pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Nicolas M. Barthelemy</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Director</span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 22, 2024</span></p></td>
   </tr>
   <tr style="height:0.7pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;text-align:left;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:middle;"><p style="margin-left:5.05pt;text-indent:0;font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">S</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/     C</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">ARRIE</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;E</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">GLINTON</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;M</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">ANNER</span></p><p style="border-top:1pt solid;padding-top:1pt;font-size:8pt;margin-top:1pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Carrie Eglinton Manner</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:middle;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Director</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 22, 2024</span></p></td>
   </tr>
   <tr style="word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;text-align:left;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:middle;"><p style="margin-left:5.05pt;text-indent:0;font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">/S/    </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;K</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">ONSTANTIN </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">K</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">ONSTANTINOV</span></p><p style="border-top:1pt solid;padding-top:1pt;font-size:8pt;margin-top:1pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Konstantin Konstantinov</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Director</span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 22, 2024</span></p></td>
   </tr>
   <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;text-align:left;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:middle;"><p style="margin-left:5.05pt;text-indent:0;font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">S</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/  M</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">ARTIN</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;D. M</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">ADAUS</span></p><p style="border-top:1pt solid;padding-top:1pt;font-size:8pt;margin-top:1pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Martin D. Madaus</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Director</span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 22, 2024</span></p></td>
   </tr>
   <tr style="height:0.7pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;text-align:left;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:middle;"><p style="margin-left:5.05pt;text-indent:0;font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">S</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/    R</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">OHIN</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;M</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">HATRE</span></p><p style="border-top:1pt solid;padding-top:1pt;font-size:8pt;margin-top:1pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Rohin Mhatre</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Director</span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 22, 2024</span></p></td>
   </tr>
   <tr style="height:0.7pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;text-align:left;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:middle;"><p style="margin-left:5.05pt;text-indent:0;font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">S</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/    G</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">LENN</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;P. M</span><span style="color:#000000;white-space:pre-wrap;font-size:7.5pt;min-width:fit-content;">UIR</span></p><p style="border-top:1pt solid;padding-top:1pt;font-size:8pt;margin-top:1pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Glenn P. Muir</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5.05pt;vertical-align:top;"><p style="margin-left:5.05pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Director</span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 22, 2024</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">66</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">INDEX TO FINANCIAL STATEMENTS</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:94%;"/>
    <td style="width:6%;"/>
   </tr>
   <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;border-bottom:0.5pt solid;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Page</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#report_independent_registered_public_acc"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Report of Independent Registered Public Accounting Firm</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">68</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_balance_sheets"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consolidated Balance Sheets as of December 31, 2023 and December 31, 2022</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">71</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_statements_comprehensive_in"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consolidated Statements of Comprehensive Income for the Years Ended December 31, 2023, 2022 and 2021</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">72</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_statements_stockholders_equ"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consolidated Statements of Stockholders&#8217; Equity for the Years Ended December 31, 2023, 2022 and 2021</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">73</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_statements_cash_flows"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Consolidated Statements of Cash Flows for the Years Ended December 31, 2023, 2022 and 2021</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">74</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#notes_to_consolidated_financial_statemen"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Notes to Consolidated Financial Statements</span></a></p></td>
    <td style="padding-left:0.1in;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">75</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">67</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="report_independent_registered_public_acc"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">REPORT OF INDEPENDENT REGIST</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ERED PUBLIC ACCOUNTING FIRM</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">To the Stockholders and the Board of Directors of Repligen Corporation:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Opinion on the Financial Statements</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have audited the accompanying consolidated balance sheets of Repligen Corporation (the Company) as of December 31, 2023 and 2022, the related consolidated statements of comprehensive income, stockholders' equity and cash flows for each of the three years in the period ended December 31, 2023, 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 31, 2023 and 2022, and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2023, in conformity with U.S. generally accepted accounting principles.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 31, 2023, based on criteria established in Internal Control&#8212;Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework), and our report dated February 22, 2024 expressed an adverse opinion thereon.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Adoption of ASU No. 2020-06</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As discussed in Note 2 to the consolidated financial statements, the Company changed its method for accounting for convertible debt in 2022 due to the adoption of ASU No. 2020-06, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Debt - Debt with Conversion and Other Options (Subtopic 470-20).</span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Basis for Opinion</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">These financial statements are the responsibility of the Company's management. Our responsibility is to express an opinion on the Company'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 U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 included 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.</span></p>
  <p style="font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Critical Audit Matters</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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) relate to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we are not, by communicating the critical audit matters below, providing separate opinions on the critical audit matters or on the accounts or disclosures to which they relate.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:15.297%;"/>
    <td style="width:2.579%;"/>
    <td style="width:82.124%;"/>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;margin-right:0.04861111111111111in;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-style:italic;min-width:fit-content;">Accounting for acquisitions</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">Description of</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">the Matter</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;margin-right:0.04861111111111111in;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:right;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;margin-right:0.05in;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">As disclosed in Note 4 to the consolidated financial statements, during 2023, the Company completed two acquisitions. The most significant of the two acquisitions was the acquisition of Metenova Holding AB for total consideration of approximately $172.6 million. The transactions were accounted for as business combinations.</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
   </tr>
  </table>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">68</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:15.297%;"/>
    <td style="width:2.579%;"/>
    <td style="width:82.124%;"/>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="margin-top:0;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="margin-top:0;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:right;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Auditing the Company's accounting for its acquisition of Metenova Holding AB was complex due to the significant estimation uncertainty in the Company&#8217;s determination of the fair value of identified intangible assets of $58.8 million, which principally consisted of customer relationships and developed technology. The significant estimation uncertainty was primarily due to the sensitivity of the respective customer relationship and developed technology 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, and cost of revenues and operating expenses as a percentage of revenue. These significant assumptions are forward looking and could be affected by future economic and market conditions.</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td rowspan="2" style="vertical-align:top;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">How We</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">Addressed the</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">Matter in Our</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">Audit</span></p></td>
    <td rowspan="2" style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;margin-right:0.04861111111111111in;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:right;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">We tested the Company's controls over its accounting for acquisitions. Our tests included controls over the determination of the fair value of customer relationship and developed technology intangible assets. We also tested management&#8217;s review of assumptions used in the valuation models.</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:right;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">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'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.</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;margin-right:0.04861111111111111in;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:right;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-style:italic;min-width:fit-content;">Accounting for convertible notes</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">Description of</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">the Matter</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;margin-right:0.04861111111111111in;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:right;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">As disclosed in Note 14 to the consolidated financial statements, during 2023, the Company issued $600.0 million aggregate principal amount of 1.00% Convertible Senior Notes due in 2028 (the &#8220;2023 Notes&#8221;). The Company privately negotiated exchange and subscription agreements (the &#8220;Exchange and Subscription Agreements&#8221;) with a limited number of holders of its outstanding 2019 Notes and certain other qualified institutional buyers. Pursuant to the Exchange and Subscription Agreements, the Company exchanged $217.7 million of its 2019 Notes for $309.9 million aggregate principal of the 2023 Notes (the &#8220;Exchange Transaction&#8221;) and issued $290.1 million aggregate principal amount of the 2023 Notes in a private placement to accredited institutional buyers (the &#8220;Subscription Transactions&#8221;) for $290.1 million in cash.  The Company evaluated the Exchange Transaction for extinguishment or modification accounting and recorded an extinguishment loss of $12.7 million and an aggregate debt discount of $82.1 million related to the settlement of the Exchange Transaction.</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;margin-right:0.04861111111111111in;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:right;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Auditing the accounting treatment for the 2023 Notes and the Exchange Transaction involved especially challenging and complex auditor judgment and required team members with specialized knowledge and skills in accounting and valuation in order to evaluate the Company&#8217;s accounting assessment, and the determination of the related extinguishment loss upon settlement of the Exchange Transaction.</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">How We Addressed the Matter in Our Audit</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;margin-right:0.04861111111111111in;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:right;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">We obtained an understanding, evaluated the design and tested the operating effectiveness of the Company&#8217;s controls over the issuance of the 2023 Notes and the accounting for the Exchange Transaction, including the valuation of the conversion feature used in the extinguishment test and incorporated into the accounting assessment for the Exchange Transaction to determine the extinguishment loss and debt discount recorded.</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;margin-right:0.04861111111111111in;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:right;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Our testing of the Company&#8217;s accounting for the issuance of the 2023 Notes and Exchange Transaction included, among other procedures, inspection of the underlying Exchange and Subscription Agreements and testing management&#8217;s application of the relevant accounting guidance. To test the Exchange Transaction, we evaluated the Company&#8217;s extinguishment accounting assessment, including the Company&#8217;s determination of the change in fair value of the conversion feature associated with the Exchange Transaction, which included testing the</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
   </tr>
  </table>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">69</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:15.297%;"/>
    <td style="width:2.579%;"/>
    <td style="width:82.124%;"/>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="margin-top:0;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="margin-top:0;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;text-align:right;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">appropriateness of the methodology and underlying assumptions used to determine such fair value.  We involved our valuation professionals to assist in our evaluation of the valuation methodology used by the Company and significant assumptions included in the fair value estimate. Also, we tested the Company&#8217;s key inputs into the calculation of the extinguishment loss and evaluated the appropriateness of the Company&#8217;s disclosures.</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:-2.319%;padding-left:2.267%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">/s/ Ernst &amp; Young LLP</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have served as the Company&#8217;s auditor since 2002.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Boston, Massachusetts</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">February 22, 2024</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">70</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">REPLIGEN CORPORATION</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="consolidated_balance_sheets"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CONSOLIDATED B</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ALANCE SHEETS</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(Amounts in thousands, except share data)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:66.993%;"/>
    <td style="width:1.58%;"/>
    <td style="width:1%;"/>
    <td style="width:12.923%;"/>
    <td style="width:1%;"/>
    <td style="width:1.58%;"/>
    <td style="width:1%;"/>
    <td style="width:12.923%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">ASSETS</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Current assets:</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b17d6f0b-7a56-4359-b695-45d1a8d1f604" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">751,323</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ab6024a8-f838-4c56-b6ab-c96f15ffe47d" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">523,458</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Marketable securities held to maturity</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4993fc9e-f4d0-4e0d-95e8-866b7a34069a" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:HeldToMaturitySecuritiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_866a5685-29c6-4074-b0b8-0f541546b3e4" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:HeldToMaturitySecuritiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,299</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">Accounts receivable, net of reserves of $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aed09663-699e-4d9c-b4d8-23551ef17100" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,122</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;and $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9e5cb2e7-c59b-4446-95af-690af7ecd781" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,365</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;at<br/>&#160;&#160;&#160;December 31, 2023 and December 31, 2022, respectively</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_425e155a-23a5-4a67-b536-65b949b1f6b9" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">124,161</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_51ba96f8-a3a0-4285-90ca-ee980f7a49c5" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">116,247</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventories, net</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6ed7fde1-9aa0-4978-b511-cc54fef34d21" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">202,321</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b0e2bdfb-2ae7-4878-930c-f52107cba479" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">238,277</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fb6f4c26-c54e-4ef0-999f-534ec6a27629" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,238</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_db4d81da-41be-458d-bbf2-0ef350228d13" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,837</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total current assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ec5b4875-db67-438b-aa8b-c9620785e5c1" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:AssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,111,043</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d08aa3ba-dc36-4b03-adea-0032d342251f" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:AssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">998,118</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Noncurrent assets:</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property, plant and equipment, net</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cc57cc1e-19ff-45d1-84b0-aa89894a4ef9" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">207,440</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1d1bb05b-a7c0-44d7-b8e0-cc5addf14ae7" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">190,673</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Intangible assets, net</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2c7e65a1-c6f7-4308-9e1e-222c50965bd1" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">400,486</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7aa8db3a-c91b-4cfc-b1e0-93294194853f" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">353,676</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5bdd4f4a-ea13-494b-bc77-27d5b5f6695d" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">987,120</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d59733bb-3e90-4776-b11d-630986e9eb7d" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">855,513</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f5a9ecf1-df65-4550-943c-f916cda4ba17" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:DeferredIncomeTaxAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,530</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9820383a-cea6-46ea-80ce-2a1f457d29d5" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:DeferredIncomeTaxAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">840</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b3e82903-23eb-40f3-8f1c-56ef478885ac" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115,515</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_24069d74-6e3f-4ed4-afb6-264f5b0f2013" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">125,023</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other noncurrent assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4c0ecc81-1931-4e96-89a4-5053a856c9d7" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:OtherAssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,277</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d66274a8-0782-41b4-9782-23bb1b03a2fa" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:OtherAssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">815</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total noncurrent assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_243b12a7-e444-45bb-acbe-7d8b4ae92ec9" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:AssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,713,368</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_29d41a5a-922e-4a61-87ca-6fc494f8d35c" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:AssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,526,540</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ff8bfd62-9cb9-4994-aef8-cff4e509fac5" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,824,411</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_37a664ea-9de8-4361-9142-5534876e503f" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,524,658</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">LIABILITIES AND STOCKHOLDERS' EQUITY</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Current liabilities:</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_37e64dd4-5395-4bf0-87b2-31806dce6405" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:AccountsPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,563</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_638b8545-5a7b-4e68-a0a1-8f06f7a9d235" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:AccountsPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,554</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_06c84b73-12d0-4a2f-bb06-fff55ababef6" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,631</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dfdcbda0-1fab-47c4-be44-de20fa737bf7" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,957</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current contingent consideration</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_59d23ba6-a5ec-461f-9043-db7f455a6222" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,983</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_11411584-8688-46b0-b606-df706caa84ed" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,950</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ed546827-5e17-443a-b2c2-2d49ed350a6d" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:AccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">50,533</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5e64222d-c0ce-4245-a465-37658b6d241a" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:AccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">71,120</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible Senior Notes due 2024, net</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5ab5ae8b-4361-4a72-a1a2-6a021311374c" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:ConvertibleNotesPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">69,452</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0757d943-ad89-438a-ab23-d78a924c3d52" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:ConvertibleNotesPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">284,615</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total current liabilities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aaa47bdb-1689-45c7-8862-62b84f69cabe" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:LiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">158,162</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1267455a-77af-4cc2-b5ff-c514e6b4eae8" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:LiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">404,196</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Noncurrent liabilities:</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible Senior Notes due 2028, net</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_03e525ff-34e1-44d9-8a54-fd23adf6c1a9" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:ConvertibleDebtNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">510,143</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f75f60e0-723c-4caf-9156-03b1ae84d692" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:ConvertibleDebtNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liabilities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e46d6b08-a8ef-4623-91c9-8caa49c59e5f" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">40,466</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8bac9470-383f-4633-8299-386108638b4b" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">23,000</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Noncurrent operating lease liability</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5ae804bf-8ce8-45ea-866b-e726945dc345" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">126,578</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_df3f386d-43cf-4498-b387-85b42ed3b6e5" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">131,389</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Noncurrent contingent consideration</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_62b0ad3e-fe15-42bf-92f6-065abcc56159" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,070</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dbdff1e6-e34a-4775-ab57-71a60db2bced" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">51,559</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other noncurrent liabilities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d1abeb81-0bb8-4706-9e77-481b74a9404c" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:OtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,789</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_85874844-4a33-4c37-b33a-394cffc949c7" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:OtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,814</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total noncurrent liabilities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2738b2c1-f747-4151-be9b-3d304261903f" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:LiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">695,046</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_059d6457-92c4-4158-a5c7-a5d8e6413544" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:LiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">209,762</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total liabilities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_284eeb22-a0ea-4f0e-ac19-286c9f06483e" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:Liabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">853,208</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f8b1a9c3-29d0-4c87-9e71-c785bdbdcc7a" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:Liabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">613,958</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:9pt;"><span style="-sec-ix-hidden:F_f4c04ce3-5e2c-43ea-8986-99578a1f9af9;"><span style="-sec-ix-hidden:F_f11edaa8-1169-4eef-bffc-60534cd9c2f7;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Commitments and contingencies (Note 13)</span></span></span></span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stockholders' equity:</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">Preferred stock, $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a0e7e3b6-537b-46cf-9027-b443fdd046f8" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:PreferredStockParOrStatedValuePerShare" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal"><ix:nonFraction id="F_5925dd3f-f062-4dbc-99eb-76140e450569" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:PreferredStockParOrStatedValuePerShare" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">0.01</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;par value, </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_90792660-ee2c-423a-a7d0-a3dd8ba968dc" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:PreferredStockSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_8a9a1230-3666-487e-9dd3-a2f9d43374d7" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:PreferredStockSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">5,000,000</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares authorized, </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ccac505d-06ca-40de-ad2a-21b0a75852a9" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_47b1565a-46ae-4442-9177-d9b982efd29f" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:PreferredStockSharesIssued" unitRef="U_shares" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_8d75adbd-a198-4c10-b552-e0f1148c2f23" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:PreferredStockSharesIssued" unitRef="U_shares" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_9895bafa-b958-426b-884c-97411346fa9e" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares<br/>&#160;&#160;&#160;issued or outstanding</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_263b7484-707e-42e4-a92c-aaef6fb3634b" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:PreferredStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_edfafb1b-8c4c-41b2-9dc6-089259fdf0d0" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:PreferredStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">Common stock, $</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8d05753c-a740-4a31-87fb-d802d4dfe452" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:CommonStockParOrStatedValuePerShare" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal"><ix:nonFraction id="F_f2d97275-d428-4f63-a055-df9aa2bd53ba" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:CommonStockParOrStatedValuePerShare" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">0.01</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;par value; </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6e0ebb57-ff40-48e1-84e0-b3b6685dfb9b" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:CommonStockSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_65f06831-745f-47a9-b11f-4b981073f228" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:CommonStockSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">80,000,000</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares authorized; </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_848a23f9-f609-404f-ae6f-aac692334aee" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:CommonStockSharesIssued" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_57630b31-575b-4cff-b6db-a2f658611227" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:CommonStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,766,078</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"><br/>&#160;&#160;&#160;shares at December 31, 2023 and </span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7c47f41d-14fa-4872-9c8c-120d5844ce35" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:CommonStockSharesIssued" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_c658f8be-81bb-4bb8-b607-d9e6d44271f2" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:CommonStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,557,698</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">&#160;shares at December 31, 2022<br/>&#160;&#160;&#160;issued and outstanding</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cacde944-8259-48f1-83ab-1ffb68f9d21e" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:CommonStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">558</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ca2f4e0e-3ffb-4608-a89d-8ae7786f68ab" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:CommonStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">556</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Additional paid-in capital</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a466eeb6-7e16-42af-b9be-85b58d9467b5" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:AdditionalPaidInCapitalCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,569,227</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_625119b6-28b9-42fe-8f28-a8a8694d2ab9" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:AdditionalPaidInCapitalCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,547,266</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accumulated other comprehensive loss</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ee391336-c17e-4351-8dbd-1a398f2dd2fe" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">37,431</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_711500d7-6372-4095-9cce-978960cce3e9" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">34,394</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accumulated earnings</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4c2a2ddd-8a60-4d78-bafe-456be34a04d0" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:RetainedEarningsAccumulatedDeficit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">438,849</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_028bb182-c621-4588-8ca6-d2aa744b0fe4" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:RetainedEarningsAccumulatedDeficit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">397,272</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total stockholders&#8217; equity</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c38d0841-3c7a-4e17-818b-57634361ffa3" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,971,203</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9ee1d844-97f6-4875-98d3-c1afaca20973" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,910,700</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total liabilities and stockholders&#8217; equity</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_46f37b6b-c218-452c-9b65-400ad3b53a91" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:LiabilitiesAndStockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,824,411</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_44b6ef47-301d-4f1a-82e5-51ea1fbe0bde" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:LiabilitiesAndStockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,524,658</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accompanying notes are an integral part of these consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:1pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">71</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">REPLIGEN CORPORATION</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="consolidated_statements_comprehensive_in"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CONSOLIDATED STATEMENTS </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">OF COMPREHENSIVE INCOME</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(Amounts in thousands, except per share data)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:57.477%;"/>
    <td style="width:1.399%;"/>
    <td style="width:1%;"/>
    <td style="width:10.776%;"/>
    <td style="width:1%;"/>
    <td style="width:1.399%;"/>
    <td style="width:1%;"/>
    <td style="width:10.776%;"/>
    <td style="width:1%;"/>
    <td style="width:1.399%;"/>
    <td style="width:1%;"/>
    <td style="width:10.776%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue:</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Products</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c6ee228b-4f37-44ab-856f-da4a97d93821" contextRef="C_dee2a31b-7253-47c6-9660-f5b5e672b177" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">638,381</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_01bf5557-cdf9-4632-abb1-c35b433cf84e" contextRef="C_9011b1f0-543e-44f7-aa9b-706c7c794f92" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">801,183</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5e8014c6-2eb0-459c-962a-41088b6d8f2d" contextRef="C_650cddf6-090a-41e3-947f-0d59140023fa" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">670,319</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Royalty and other revenue</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_977d2ff8-215a-4e1d-a240-13adbe460ce2" contextRef="C_4963f6f6-5033-4b4e-af94-a330c4799802" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">383</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b0004379-2299-419d-9b39-ec93896c4f9f" contextRef="C_8b504674-e4ca-4879-959d-9ace15ea74ed" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">353</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a1804fe6-f40b-410b-9dcb-0a2d37c0f980" contextRef="C_86d4a801-221b-435d-af60-e5bdc7543155" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">215</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cbe768b1-4dd7-4b14-a306-aca5a6cd78b8" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">638,764</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8bb97479-dec7-439d-b752-4c9a47743ff8" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">801,536</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a046937e-bab5-41b5-bc0e-eedf1db3dcdc" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">670,534</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Costs and operating expenses:</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8ece5dd-c388-4eea-a4f6-f2579971c44f" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:CostOfGoodsAndServicesSold" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">353,922</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_217e2f17-0735-4798-a3d9-430e38ab4b3e" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:CostOfGoodsAndServicesSold" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">345,830</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_053f3f7a-5bce-47c3-91e0-23758a803724" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:CostOfGoodsAndServicesSold" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">279,280</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_024e9dd2-fb2f-48e1-9df5-73567522b048" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">42,722</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5c6bf0e3-bb58-47b6-ab17-9f5ec8d88bb6" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">43,936</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3927632a-e5fc-4ce9-b562-a0b88ee414ae" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">34,274</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e6409aac-e685-4613-aadb-58c7182e4e62" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:SellingGeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">218,113</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1ef2df6a-c4ce-480a-9f45-670ddb4f79d1" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:SellingGeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">215,829</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eb0cd03c-f0e1-4361-afff-fe8cc9f0282a" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:SellingGeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">183,866</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_634a00fd-a2eb-460b-820c-38775f92f4b4" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">30,569</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5059cdfe-ac23-4268-894a-d6aba1ac8fc2" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">28,729</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_255a173b-f30e-4357-9b81-576529b15efb" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,865</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total costs and operating expenses</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a38fc28-b723-45b2-9a0b-f1c0268cff4b" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:CostsAndExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">584,188</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_16d95ceb-b48d-484f-ba4f-3070d2ed2a90" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:CostsAndExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">576,866</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8c099a97-78ed-409c-ba31-db1e6c6b9897" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:CostsAndExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">503,285</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income from operations</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5fdbd7f4-0dd1-4754-89c2-14b452f7f803" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">54,576</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ee83b31a-f03a-4cf2-a674-4264861cdc21" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">224,670</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_34ff1405-6820-4d5a-841e-3935dd6149d7" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">167,249</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income (expenses):</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Investment income</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_61a4f2dd-5131-4695-8a97-fb2d82cc2022" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:InvestmentIncomeNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,135</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6ef7a618-127a-4f4b-a8d9-b4e8fd28a842" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:InvestmentIncomeNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,978</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_53d8c0d5-6c99-40a9-8c23-b59ae4869f3a" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:InvestmentIncomeNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">176</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest expense</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1e38d2d1-5c42-4410-8464-260cb8fe5de0" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:InterestExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,951</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dcb72c35-749b-4196-86b0-0a3dddd32e4e" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:InterestExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,162</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f020deac-e9ab-4ea9-9a2b-64edf948509a" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:InterestExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,278</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aae37e72-647b-495d-9c09-6f484b821f2c" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">12,676</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4c0e9173-d8db-43f1-a74c-c66952863a2a" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_64c3a655-8c5b-4567-84a5-9f572d562a7a" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amortization of debt issuance costs</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_49883a3d-2ff0-4e69-be54-0025f691ae93" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:AmortizationOfDebtIssuanceCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,075</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5cb245b0-1f23-40ce-9e18-3f943a0a70ee" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:AmortizationOfDebtIssuanceCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,815</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3098996f-92d0-4091-8a83-e35acce500ca" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:AmortizationOfDebtIssuanceCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,436</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income (expenses)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b1b3ed21-7c03-4685-b32e-4f52134b6395" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:OtherNonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,123</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e9ec46aa-fe9f-4dae-9b57-2bd37dab4dc6" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:OtherNonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">9,531</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_de979d5e-f43b-46a2-80a7-82dcd0237c5b" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:OtherNonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,168</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income (expenses), net</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_83b7e3fc-0110-495e-b6c1-234421fa941a" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:NonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,556</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dd341821-9d15-47c0-bc47-660e27aeec79" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:NonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,530</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6abfda41-2695-44f7-abde-04b956e20d37" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:NonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">13,706</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d098463-0bbc-40a9-bf43-c5afdb384a23" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">64,132</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_19065a40-149b-4d6f-9f7e-49e75b35f8ce" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">219,140</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b51d4737-7c5e-4e9f-a4bd-03d9c08becaf" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">153,543</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax provision</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7557de1b-67e0-45bf-9aa6-b2db69975491" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,555</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cc961036-ceab-4081-a3a8-410d45a4cebc" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,181</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9da06e94-735b-433d-b7f1-5c44ea85b880" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,252</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6835c53b-ccc9-4da0-9421-2249626d8069" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,577</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ee9299d5-254f-4e2e-b41d-f156548f866a" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">185,959</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_83dd03a1-c50b-4dc0-9545-b0346e6e6394" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">128,291</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnings per share:</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aa67179f-606b-4ca7-b318-5cdfa3721f34" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">0.75</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6f6a0abf-9bd8-43f5-9094-c88dd9761180" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">3.35</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ecdfaca5-42d6-4794-8464-f0096a91f700" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">2.33</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_36c7d8aa-254c-44bd-8d46-e57f16e3e189" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">0.74</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9191430d-5ea7-41d9-a71a-699f07cee474" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">3.24</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d521f2b4-1763-4a4d-be60-62d00c3f7227" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">2.24</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average common shares outstanding:</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0dcf61d8-0ea6-4577-8b40-b69e61068c7e" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">55,720</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8f29cb39-0496-437e-8885-fbbac6d389f5" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">55,460</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_946a285a-fc44-45cb-bc88-ba1ab5687c98" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">55,015</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7c3701ea-dfc0-4049-a5d6-943f4b80c2ce" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">56,377</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6d46df52-93d5-43f4-aad5-c9fa939d0af4" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">57,455</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_99450212-6d03-4597-9fc7-7e98a6032089" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">57,264</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_946e1469-b75a-4a0d-bc4f-82daa8fbc3c0" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,577</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5e8ca743-523c-4431-ad35-b0d1196ed57a" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">185,959</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3a78bccc-25b6-425d-b7c8-6d79f5f54075" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">128,291</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other comprehensive income (loss):</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign currency translation adjustment</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6f987e58-c676-437f-baee-ed647b624901" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,037</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1c3ad389-b070-41dc-a7d5-e4883b7ffce5" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">17,508</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2e48a7a7-2af2-4d51-b548-46581d307b6c" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">18,971</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Comprehensive income</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_64e15fbc-c5cf-4fe2-af17-ae7e06b2db7e" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">38,540</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_33493098-876e-4369-910d-8a4e7c8563bd" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">168,451</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_200e8161-c9b9-4d7b-9525-d0152818eb32" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">109,320</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accompanying notes are an integral part of these consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">72</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">REPLIGEN CORPORATION</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="consolidated_statements_stockholders_equ"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CONSOLIDATED STATEMENTS </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">OF STOCKHOLDERS&#8217; EQUITY</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(Amounts in thousands, except share data)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:32.193%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:8.643%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:8.223%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:8.223%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:8.223%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:8.223%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:8.263%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Common Stock</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Number of<br/>Shares<br/>(#)</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Par<br/>Value</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Additional<br/>Paid-In<br/>Capital</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>Other<br/>Comprehensive<br/>Income (Loss)</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>Earnings/<br/>(Deficit)</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total<br/>Stockholders'<br/>Equity</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2020</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f03ef8f0-3fa5-42bb-a533-f8bb5683e11c" contextRef="C_051050a2-02f3-4c31-b83a-ad7771e5b2b5" name="us-gaap:SharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">54,760,837</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_73d80ac1-4403-4236-8f1d-2d65f58b1802" contextRef="C_051050a2-02f3-4c31-b83a-ad7771e5b2b5" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">548</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7e646435-a8cb-458e-ad04-2a036f5189f2" contextRef="C_0e0bd552-bcac-4012-9965-2bb9a4e1ed90" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,460,748</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b79628a0-5d6f-4c24-9b64-78351473457e" contextRef="C_b52c1b81-aa58-46b9-a15a-30bd2e555808" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,085</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6bc4ae90-3906-42a0-811e-4961c4ec639d" contextRef="C_f5589251-6303-456d-bfb0-5ae13f002dca" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">65,769</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_870f6930-5057-4acc-b67c-e693a94cbe15" contextRef="C_f59feb09-1594-4f9b-b24f-dce4020f6e60" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,529,150</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d75d7b51-05e7-4809-bc2d-4ab9c1a21dfb" contextRef="C_b1c6e29e-fc05-4e54-b465-6480be4b68f9" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">128,291</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3e033f30-061f-4ddd-a581-128e8d7af0b5" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">128,291</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of common stock for debt<br/>&#160;&#160;&#160;conversion</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d8b8736b-e7d4-4845-84f7-3378503507f3" contextRef="C_949bc793-4b1e-4970-8dd2-7c4658280c01" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">7</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_97dfce5d-921e-4b71-aa9a-ac82442ade7a" contextRef="C_949bc793-4b1e-4970-8dd2-7c4658280c01" name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">0</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_31f67fee-c0b9-43c5-af98-ff40d3e3abb5" contextRef="C_57261171-043d-4a6d-adf8-cf4e5e8cdd09" name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ea8ebbfc-1fe2-4744-912a-56374de316f5" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercise of stock options and vesting<br/>&#160;&#160;&#160;of stock units</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5c13eeb0-215e-4573-b56a-4b30ad9ba515" contextRef="C_949bc793-4b1e-4970-8dd2-7c4658280c01" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">300,721</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_34928a58-ea14-4d21-b3ab-1c1c41a506ff" contextRef="C_949bc793-4b1e-4970-8dd2-7c4658280c01" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_505045d3-23f0-4e71-8206-702dc3021df5" contextRef="C_57261171-043d-4a6d-adf8-cf4e5e8cdd09" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,876</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ba3a6da4-da1a-4f58-b416-ac77fc1f8d6c" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,879</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of common stock pursuant to the acquisition<br/>&#160;&#160;&#160;&#160;&#160;of Avitide Inc.</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a54a68cc-a14c-4b02-918f-088383e25f2e" contextRef="C_b2d8b952-7fba-4c60-885e-ba7de124cef2" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">271,096</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_53866a09-4009-47dd-a7e8-ef3f331e491e" contextRef="C_b2d8b952-7fba-4c60-885e-ba7de124cef2" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_073f16a0-b57e-427c-afc2-05bc01bd596f" contextRef="C_bb1ef129-3ecc-499b-99f2-c42e7b8646f3" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82,966</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0890caf2-684e-48f7-be64-311a9becb8c1" contextRef="C_f8ad70dd-d6b6-459c-bb62-1666ae84e439" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82,968</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Tax withholding on vesting of<br/>&#160;&#160;&#160;restricted stock</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d14beeb7-9ed9-42e6-8b7c-5533e98c3628" contextRef="C_949bc793-4b1e-4970-8dd2-7c4658280c01" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">11,204</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_04aa9fe4-237b-45bb-b3ca-6655791b26db" contextRef="C_949bc793-4b1e-4970-8dd2-7c4658280c01" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">0</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_499386a2-dc48-44c8-814a-4824b92f8502" contextRef="C_57261171-043d-4a6d-adf8-cf4e5e8cdd09" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,897</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dbda6f52-a8ff-482c-adc2-6dac36702793" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,897</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3824e954-f25b-4439-8068-1e8a978bf898" contextRef="C_57261171-043d-4a6d-adf8-cf4e5e8cdd09" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,500</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2e962a11-f171-44ce-b102-0f9cf71adb11" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,500</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">True-up of costs related to the December 2020<br/>&#160;&#160;&#160;&#160;issuance of common stock</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_99cc31b9-2ab8-4ce5-af5f-77d5c2742941" contextRef="C_15d94e6d-7075-447b-b770-80398d6a7556" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">145</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ac25d9fd-03fa-4765-8f4a-d09ad3ce3611" contextRef="C_773897c3-11b6-4fb5-a648-c26fd1e1a4a5" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">145</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Translation adjustment</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0273fb00-e65e-444d-b358-96dbf083aa4f" contextRef="C_56e66edb-469f-48ab-b8ce-0d631642ceeb" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">18,971</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_878a8b24-cedb-4ae4-bccd-22bd41a5c84c" contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">18,971</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2021</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_25c92304-349d-4917-9549-30dd2089e2d4" contextRef="C_0fa4207c-bb1e-415c-8980-63f2a52c720f" name="us-gaap:SharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,321,457</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_00cb40bc-9557-4bfb-a2f3-34df86c1f8c9" contextRef="C_0fa4207c-bb1e-415c-8980-63f2a52c720f" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">553</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3e4e3cdf-9d5f-48ea-8d04-b8d7b3bd52be" contextRef="C_665dc070-267b-4a44-b0ca-efc6918f42df" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,572,340</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f33d0fbd-71be-4d44-81de-857928826568" contextRef="C_56e66edb-469f-48ab-b8ce-0d631642ceeb" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">16,886</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6b3d163f-eab7-442d-b1ec-bfb5d432feca" contextRef="C_9db6d393-2562-41fa-8eb6-28e3776b9293" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">194,060</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_001e56dd-3d92-4b6a-adf4-f7b22fbce237" contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,750,067</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3beb4577-2ab2-4451-b21f-80dfb0b22402" contextRef="C_0c7acc8a-d233-46a8-ad54-ac82264bf1b7" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">185,959</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8a16daca-6910-43e0-bbe2-0b160b6edc85" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">185,959</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of common stock for debt<br/>&#160;&#160;&#160;conversion</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4fe5fff5-fd08-4761-a2e0-7ee43b9a31be" contextRef="C_f897156f-7cee-4f32-9e8b-aea890a9a4ca" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">21</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cd687f1d-0a35-4caa-99f8-76e443510c94" contextRef="C_f897156f-7cee-4f32-9e8b-aea890a9a4ca" name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0a37bc22-55a2-44bf-8e69-5725064db51e" contextRef="C_3198d594-eada-4d09-8f2f-510d5cafcc74" name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">7</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_10821760-291b-4183-a4d7-365733732770" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercise of stock options and vesting<br/>&#160;&#160;&#160;of stock units</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e9a0cbee-6d63-494f-9d05-0ba23f512b32" contextRef="C_f897156f-7cee-4f32-9e8b-aea890a9a4ca" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">326,192</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a33e62ff-ecfe-4c11-a506-25aedc2e5e96" contextRef="C_f897156f-7cee-4f32-9e8b-aea890a9a4ca" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4bf8ad7b-d532-489f-8022-a5f297c12e29" contextRef="C_3198d594-eada-4d09-8f2f-510d5cafcc74" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,704</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ddff1e11-8fb8-4edc-9fb5-e188dea416d9" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,707</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Tax withholding on vesting of<br/>&#160;&#160;&#160;restricted stock</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_644e73f5-d49b-4f82-b031-db1e889bb7d2" contextRef="C_f897156f-7cee-4f32-9e8b-aea890a9a4ca" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">89,972</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_202b98d4-3d36-4306-9fe3-5d23d180f793" contextRef="C_f897156f-7cee-4f32-9e8b-aea890a9a4ca" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_48580ffd-c5ab-46c6-a26b-169760e06a6f" contextRef="C_3198d594-eada-4d09-8f2f-510d5cafcc74" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,017</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_984bcada-8092-4ee1-8d41-4dd23acbadde" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,018</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_35d8811c-0be5-4e24-a8c2-091b10656323" contextRef="C_3198d594-eada-4d09-8f2f-510d5cafcc74" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,316</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_553fcb2e-93e4-4a7b-a2c3-55b12e936800" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,316</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Impact of the adoption of ASU 2020-06</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dc45193d-9043-4af6-853d-b64c15207253" contextRef="C_4a1e689c-1cf6-44d6-b7de-43b7a8b4f932" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">39,070</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_06c842a5-6b04-47e2-b8e3-4b7001bf091c" contextRef="C_843d65d6-c3fc-4289-8c55-0e757f11dd06" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,253</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4aadcd50-0d7f-4f59-83e9-d0b285a9132d" contextRef="C_2f79f48c-a6ef-4e8f-90f6-ded0197ac660" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">21,817</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Translation adjustment</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6e9459bc-1cb3-4296-a7df-fdc333387bbc" contextRef="C_778e1d15-858c-4b3b-82ac-6fbd3ad387d6" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">17,508</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8871b15a-09a3-4ec1-9b42-19eb77738c9e" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">17,508</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2022</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ec307122-db37-4327-973f-1b24f94b34bb" contextRef="C_55f30178-b54f-4159-b1b4-48d6637edd84" name="us-gaap:SharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,557,698</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4f998a1f-cc1d-48b4-8796-86174e88cd4c" contextRef="C_55f30178-b54f-4159-b1b4-48d6637edd84" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">556</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d6100c60-fedb-48f3-85d9-f92f3aad61b2" contextRef="C_2b8c7925-9c0b-4ad8-9557-e3d830b96613" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,547,266</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9326a7f9-714c-4503-8c71-04e0159bcf08" contextRef="C_778e1d15-858c-4b3b-82ac-6fbd3ad387d6" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">34,394</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c75b77e9-f825-42fd-bf4d-8a4e487f880f" contextRef="C_ef6d10bd-1d94-4091-bb07-caade3c1ab18" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">397,272</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ed390501-8257-4aa1-84f1-766ffb20c3b4" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,910,700</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8df5f9c1-26c0-4616-b1ac-efac71992931" contextRef="C_fc09c87f-3b2c-4ae1-a049-b2a83a1fa06f" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,577</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8519bfb0-5853-4b42-a2d4-f35d53367afb" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,577</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of common stock for debt<br/>&#160;&#160;&#160;&#160;conversion</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_74667693-fc93-41e1-b88b-ffcb6c8ea75f" contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">8</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e94c9890-fe0f-4aa3-98ea-11db808ac89e" contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5" name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">0</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d7031a69-63d7-4b7a-bfca-dc7116a8995a" contextRef="C_a881087b-1778-4ff1-8f7d-f854d11d166f" name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">13</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_33cd39d0-f5de-4f5f-9343-9f0a26df6fd4" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">13</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercise of stock options and vesting<br/>&#160;&#160;&#160;of stock units</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a2936eb2-06c7-41e2-b797-8166694ff70c" contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">251,886</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d6db520-633b-4bec-8d35-3f766e8ce3a5" contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e5c94da0-3446-4c8a-9f13-13343b70cd91" contextRef="C_a881087b-1778-4ff1-8f7d-f854d11d166f" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,073</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_311cbd11-c712-48dd-b773-d7273dcca906" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,076</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repurchase of common stock</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fd519bbc-744b-4ff0-b561-2f56628cdc48" contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5" name="us-gaap:StockRepurchasedDuringPeriodShares" unitRef="U_shares" decimals="INF" sign="-" format="ixt:num-dot-decimal">92,090</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9236b397-0f4c-4e7e-af20-aae7db54b303" contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5" name="us-gaap:StockRepurchasedDuringPeriodValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eca957ce-25ec-4996-9eb0-a4009ead8d71" contextRef="C_a881087b-1778-4ff1-8f7d-f854d11d166f" name="us-gaap:StockRepurchasedDuringPeriodValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,385</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_69860ee5-ae27-4520-a1a4-e0a3f2e35183" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:StockRepurchasedDuringPeriodValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,386</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Tax withholding on vesting of<br/>&#160;&#160;&#160;restricted stock</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c5922204-2f13-4f7e-bbc7-858fcc18a75c" contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">77,759</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eeabfb4f-7a11-4e63-8e48-bdb6882e96ee" contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b9621bd3-3304-4673-b451-def92688ce9f" contextRef="C_a881087b-1778-4ff1-8f7d-f854d11d166f" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,226</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3f0105dc-5be2-4309-a328-18c00f88f72d" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,227</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of common stock pursuant to the <br/>&#160;&#160;&#160;&#160;&#160;acquisition of FlexBiosys, Inc.</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bed3f0cb-3d6e-4709-aa6a-c70e3221e564" contextRef="C_eed78df6-712a-432e-bd6f-f80788220c16" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">31,415</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d98fb4ef-bb77-4122-9bb6-492921ae7278" contextRef="C_eed78df6-712a-432e-bd6f-f80788220c16" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">0</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_985f2ba0-9ac3-4d7a-aa22-639c421690fc" contextRef="C_ba3f9c5d-4511-4968-9eeb-d6348fadf492" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,465</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c8a3ae4-00a0-4548-be1b-4ed0bfc763e0" contextRef="C_ca77aac6-1dd3-4cdc-9e35-19da5b52b9c0" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,465</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of common stock pursuant to the <br/>&#160;&#160;&#160;&#160;&#160;acquisition of Metenova Holding AB</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8c4918a0-4511-498b-9220-d3d920db74d5" contextRef="C_1f4e6754-54ee-4ac5-bcdf-6ee2f3734b0c" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">52,299</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0c80623b-7b42-428d-b307-0e2bc8ad8ac3" contextRef="C_1f4e6754-54ee-4ac5-bcdf-6ee2f3734b0c" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b2b3339c-579e-413f-bb36-8ca525632857" contextRef="C_58feedab-dc67-441a-b45a-d499035a726c" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,103</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4896a20f-7e29-4ff9-8adf-5dbb47d7b739" contextRef="C_4016e51f-a392-49c5-9c26-e9ddedab261e" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,104</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of common stock pursuant to the Avitide, <br/>&#160;&#160;&#160;&#160;&#160;Inc. contingent consideration earnout payment</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6135234e-a699-4b83-af63-ec60a4218109" contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5" name="rgen:StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">42,621</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7bfaf079-a21b-4cd1-9ac4-1caf59ed778b" contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5" name="rgen:StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">0</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ee52c6a7-e766-40fc-a882-d81c5ae7a96d" contextRef="C_a881087b-1778-4ff1-8f7d-f854d11d166f" name="rgen:StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,229</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_931d035c-f691-4a2a-8bce-1fc8b0765d68" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,229</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5e66e965-cf86-4243-a409-c326737e2dbf" contextRef="C_a881087b-1778-4ff1-8f7d-f854d11d166f" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,575</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bd49458d-e8db-472d-b775-ee3af7bbfcb2" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,575</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible note modification</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_84ceb857-9946-4ee4-91a8-f793b0f52f55" contextRef="C_a881087b-1778-4ff1-8f7d-f854d11d166f" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,791</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_025c3039-7a85-4da5-bad4-dcb7804a160a" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,791</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax impact on conversion feature</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_461ab9a8-4870-457b-927f-364befeee9d4" contextRef="C_a881087b-1778-4ff1-8f7d-f854d11d166f" name="rgen:DeferredTaxImpactOnConversionFeature" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">651</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9b6f3c8f-3f6b-4461-9bf3-3234547a3f19" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:DeferredTaxImpactOnConversionFeature" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">651</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Translation adjustment</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5b0bf9aa-bf13-4dca-9ef9-4e6cc21e6191" contextRef="C_add2d159-3797-4e29-89a2-b3ec15fb387a" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,037</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4cac25df-c051-4d05-9b91-ef664adb98e6" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,037</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b0fae67-e27a-44fb-a304-e3ec10d99291" contextRef="C_b8d7f7de-d986-4719-b42a-741c446186e7" name="us-gaap:SharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,766,078</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_520d738f-6b66-4008-bdb7-36d1dff9ac9e" contextRef="C_b8d7f7de-d986-4719-b42a-741c446186e7" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">558</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_52a7a96f-5430-48e1-8b87-0d7a8d33bab6" contextRef="C_fa4baece-c5b3-4da0-b25a-3a53da2cd13e" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,569,227</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dfd680dc-c1e2-456e-9dee-2ca64766d7dd" contextRef="C_add2d159-3797-4e29-89a2-b3ec15fb387a" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">37,431</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_297f0504-bc6e-4218-b83c-8334fc91261c" contextRef="C_a3f98b1d-782b-4a8c-bf53-5e7ceadda17e" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">438,849</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_64bb016f-ea1e-4c18-8b38-9fd93c9199b7" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,971,203</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accompanying notes are an integral part of these consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">73</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">REPLIGEN CORPORATION</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="consolidated_statements_cash_flows"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CONSOLIDATED STATEM</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ENTS OF CASH FLOWS</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(Amounts in thousands)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:57.512%;"/>
    <td style="width:1.24%;"/>
    <td style="width:1%;"/>
    <td style="width:10.922%;"/>
    <td style="width:1%;"/>
    <td style="width:1.24%;"/>
    <td style="width:1%;"/>
    <td style="width:10.922%;"/>
    <td style="width:1%;"/>
    <td style="width:1.24%;"/>
    <td style="width:1%;"/>
    <td style="width:10.922%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from operating activities:</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7c99eb54-8f8f-4e31-9bdf-672661023b1a" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,577</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9f704088-477d-40bf-b21b-e5b16140d4b6" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">185,959</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_42bf565e-4d7e-4679-b813-91e023319d77" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">128,291</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:5pt;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjustments to reconcile net income to net cash provided by operating activities:</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory step-up charges</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3809c394-720a-4bec-91cb-81ef42535787" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:AmortizationOfInventoryStepUp" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,238</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f5534505-a6b1-476c-be36-255e5a760168" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:AmortizationOfInventoryStepUp" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6e2346de-cbf1-41c3-83f0-766962d7e7dd" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:AmortizationOfInventoryStepUp" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,130</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Depreciation and amortization</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ac267d67-e6ba-4d5e-951b-14ddb92ffd37" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:DepreciationAndAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">68,085</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_97091598-3017-4050-891e-1535b3fd3886" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:DepreciationAndAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">50,985</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2bc9261d-488f-4b2d-8532-827101ab1238" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:DepreciationAndAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">38,447</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amortization of debt discount and issuance costs</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d950573e-07c7-4615-8526-9f10f1bf4a83" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:AmortizationOfDebtDiscountPremium" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,448</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c7f031d7-e337-46cf-8aad-bc666fd54db4" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:AmortizationOfDebtDiscountPremium" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,815</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1da06056-1da5-401a-a3fd-715b13966f86" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:AmortizationOfDebtDiscountPremium" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,530</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8da35b06-3c1c-4528-9a45-403a5ffcf18c" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,575</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_00651500-2b1d-41e4-a027-afd0149130a6" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,316</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3302e85a-50c3-4cae-97d9-f6b65e0786ac" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,500</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred income taxes, net</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_73287e72-df5d-473b-9a5b-19f67467b0fa" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:DeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,317</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7746d797-2c54-4771-a81b-f28557517675" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:DeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,352</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ca2ce9e8-9e3e-4d05-b706-e02da66ce354" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:DeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,517</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_942f61e8-7c68-48b5-812f-de1a66b70514" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">30,569</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b9f9671f-b4a3-4452-9019-d7fb13532a57" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">28,729</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b07a5964-b40a-46c4-a8ee-74879172fd00" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,865</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-cash interest income</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3f6a2ac9-3ae5-4f06-8405-c80b71a01f9c" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:NoncashInterestIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,023</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_03b73819-341e-4475-a04f-73cf7f55a651" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:NoncashInterestIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9d99c1f0-2ffa-42e2-99c6-bec469a5f361" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:NoncashInterestIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_050485e6-52f5-4e62-b417-9c427f841f45" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">12,676</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e9c180c8-2a95-4cd0-9010-d95d737451c0" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_47c801ae-3b55-48af-b398-235864bb093d" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ca67fbe6-23c7-4416-a48a-e2fe1dbba472" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:OtherNoncashIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,231</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_389408d7-b130-47c2-9c4c-3a2e0e74f2a2" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:OtherNoncashIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4b602229-a2ce-45af-8a5f-ffee3b91cf26" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:OtherNoncashIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">864</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Changes in operating assets and liabilities, excluding impact of acquisitions:</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a2f603a6-d6b4-4e92-b19f-8d0181c9e906" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncreaseDecreaseInAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,312</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0c1973a6-ed44-48c7-889a-c7e5dc384f5c" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncreaseDecreaseInAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,596</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ae51ee3d-f554-4a6c-a75d-c53c176ade9b" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncreaseDecreaseInAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">46,523</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventories</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b0336822-715b-4526-9b90-fc3db34eff3c" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncreaseDecreaseInInventories" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">40,973</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5cece0c4-b678-4759-917d-fdffa82c1edd" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncreaseDecreaseInInventories" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">57,204</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d1ad910-8ed0-4d39-939b-4a17bbe028f4" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncreaseDecreaseInInventories" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">89,781</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0a5293d9-e9e1-4091-a8ba-e338c11de260" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,030</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_51e13dea-a3b8-415a-b45e-a22b21ec0ab5" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,396</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_91250cf1-7e96-4372-8e7c-5a53527e4c3c" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,192</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0b8075ba-4f2b-4198-95ed-a450403de051" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">14,059</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aac8ad42-9f63-4e9f-b57a-f0d1248c63da" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,549</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_62e18ffe-2744-40c1-a08e-037151e28e51" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,315</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b6d74cfc-bc34-4bda-8141-67a754ebd620" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">461</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f8b5eea3-7006-4d7b-b9f9-80657eb48995" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">231</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cb81cc81-ec0b-49d5-989d-a2cb869e3429" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">430</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ebe3f4ad-837a-49cf-9bee-5d4da82d28ae" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncreaseDecreaseInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">9,803</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d28afebd-87e5-47ff-bdb1-c7b71f665ea3" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncreaseDecreaseInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">8,197</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_08367d7b-dc58-4d80-811e-b77c119f88db" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncreaseDecreaseInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,523</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued expenses</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8f9400b4-ab8e-4af1-a29f-8f2b81c0610c" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">27,921</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3cce8061-4cd5-4b16-8c62-fc2e9b90e891" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,019</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_daec734f-059e-418e-9233-299651c38917" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">23,196</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ed6ddc3f-9c32-43fd-9ca2-b6df98b1504f" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">9,229</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b5737d48-9b7b-4ef3-bcf1-b81b5ea8e358" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">28,623</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e9234477-c6ff-49ed-8f4b-584fde5a69bb" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,958</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-term liabilities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c32e2ebb-912f-46f7-9a21-496e77fff644" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">87</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6486f776-f7f0-4784-b4dc-d7fedab552a6" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">966</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_70d97c29-49a2-46c3-973a-d37177f763a3" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,424</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash provided by operating activities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ba2d6197-9239-4e6f-a96f-2779dd8a934d" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">113,918</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_74f6143f-1c5e-422d-8c41-818fff1c1e79" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">172,083</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0a6c39e6-0419-4f2f-b88e-04c5058470ea" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">119,016</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from investing activities:</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Purchase of marketable securities held to maturity</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_34b98992-dd16-431f-b485-1d25c7b4cb7e" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:PaymentsToAcquireHeldToMaturitySecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a6c1d4fb-12df-4d3d-a822-4b9b112adec3" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:PaymentsToAcquireHeldToMaturitySecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,000</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_709b6eaf-ddcb-4845-8e13-8bf9ef2ce9ea" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:PaymentsToAcquireHeldToMaturitySecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Redemption of marketable securities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ac00d70c-75e9-4570-9527-2d0d99fdb1e8" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">102,323</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8e16e55-a59b-492e-93ee-031550fccde8" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_41954826-02c7-42e0-afc4-d76661a2ad57" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Additions to capitalized software costs</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_002b4b98-85ac-498c-80bf-61d913a8fed6" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:PaymentsToAcquireSoftware" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,766</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d65e7627-3d1f-43fc-9673-3849ff6553f8" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:PaymentsToAcquireSoftware" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,512</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0bca5827-735c-41c6-84c9-6f05294c03c9" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:PaymentsToAcquireSoftware" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,187</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisitions, net of cash acquired</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ee6f16fd-86c0-4888-b61c-0259949b8971" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">186,642</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_57d1e8e1-14f4-41f0-9541-49c18c376e05" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_735b1d2d-7db9-4c92-ba34-d74bb5aa5288" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">149,893</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Purchases of property, plant and equipment</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b49fd30a-0679-4c50-bcf8-049751a71c93" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">36,222</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_33778878-0297-4555-8585-5380be7bbb9e" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">84,834</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fbcd0f47-1de4-416b-8598-7e08f422306e" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">67,089</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Purchase of intellectual property</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d510ea5-f606-44a3-a68e-a7008944a596" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:PaymentsToAcquireIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_80d7aef9-3a77-43bc-99bd-fd6390853e6f" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:PaymentsToAcquireIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">45,000</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ac62c552-1b18-4686-a6fe-8c7735330b98" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:PaymentsToAcquireIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other investing activities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2dd72f6f-910b-4f57-b865-709d7c9ddf61" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:PaymentsForProceedsFromOtherInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">32</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7275a0e2-abe0-401f-8433-409e42029150" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:PaymentsForProceedsFromOtherInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">110</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a7f5e902-c09e-4830-9493-a246f378ad01" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:PaymentsForProceedsFromOtherInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash used in investing activities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_302df3fd-2e4c-4e35-aa0e-765c19988157" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">123,275</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c1e34d9-eef0-4225-a0e8-5caf373242c1" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">233,236</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5371d973-a5fb-41b9-9bc7-116c36a08aa5" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">221,169</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash flows from financing activities:</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repurchase of common stock</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9af67b29-9e0b-4ae2-b9da-228406f1c9fc" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:PaymentsForRepurchaseOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,386</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0870cda1-f443-4b5c-9692-62392e4f0401" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:PaymentsForRepurchaseOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_df21b056-574c-4f6c-8fb5-659fb117d326" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:PaymentsForRepurchaseOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proceeds from issuance of 2023 Convertible Senior Notes</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7643d44e-180b-43fb-9be8-722f9937bdf2" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ProceedsFromConvertibleDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">290,094</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8e42ac7f-3ca8-4ef2-bc38-8cb41c88a1af" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ProceedsFromConvertibleDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f765fe86-f299-427c-9425-6d9f613153bd" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ProceedsFromConvertibleDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proceeds from exercise of stock options</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d45aae35-93a5-440c-a3a8-625860be4125" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ProceedsFromStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,076</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1325ef53-4b95-4686-8901-080f5e677dca" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ProceedsFromStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,707</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b100fd65-a656-4eec-986b-4948ea9a7dc3" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ProceedsFromStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,879</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of debt issuance costs</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7e7f2e08-371f-4209-a25a-ca58b2a6dc67" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:PaymentsOfDebtIssuanceCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,253</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d629257a-0e51-44c9-82dd-b79948335c98" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:PaymentsOfDebtIssuanceCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b0710834-d9d8-4a37-81d9-148b9e2e89bc" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:PaymentsOfDebtIssuanceCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of tax withholding obligation on vesting of restricted stock</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a88313bc-b049-4576-9534-6fc2645d6dfd" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,227</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bccb6d0b-2dbe-4808-80b2-e81c0423a6f1" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,018</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9a6c228c-8050-47d8-ac40-2c6eef09f248" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,897</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of earnout consideration</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b0ba2727-9441-4a54-8a39-94c392ded3f4" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,298</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9f0c0b74-802e-4128-ae5d-968ac35cd5bf" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_89ded411-e95e-48d7-99a9-14c2d4bd990a" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other financing activities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cbbdca1f-c75e-40d1-b68a-0d8b4cdb1934" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ProceedsFromPaymentsForOtherFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">45</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a204a7a0-6098-4d3b-a5c6-ba7d38d9bd1c" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ProceedsFromPaymentsForOtherFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">26</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a15b39e0-4f95-43cc-9684-c15771178a97" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ProceedsFromPaymentsForOtherFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">21</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash provided by (used in) financing activities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_89c9d7e2-0ec0-4e85-a8ce-31673b825580" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">248,961</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_24fa5f56-2309-407f-ab5e-08ac427f0d62" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">13,337</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3acda657-4656-4d5e-8e07-c6c9467083a8" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">961</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of exchange rate changes on cash and cash equivalents</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9f2990ab-1d9f-40ff-b9ef-aac34740517c" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">11,739</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_efcbaef2-3e65-401f-966e-2fd2a63e7196" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,866</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_05b3a958-d295-4566-aa94-198cb3cde378" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">12,286</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net increase (decrease) in cash and cash equivalents</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fb5e5ace-018c-4027-b279-22533569fa02" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">227,865</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aeec4016-fe17-46a9-9ef1-ea3a5cbb9f9a" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">80,356</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e6dc27d6-7704-4a09-a51c-4382154b6c40" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">113,478</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents, beginning of period</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3a129151-31f1-4931-a39f-a059a6fa45e7" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">523,458</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b0c92dec-d3ee-41d1-8d0d-f7b1daccb498" contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">603,814</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_88879b25-7f8b-4a8e-9fe1-86743496f23f" contextRef="C_f59feb09-1594-4f9b-b24f-dce4020f6e60" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">717,292</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents, end of period</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_67d1ee7c-d4f3-405c-ac39-4b6b12dcc8c3" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">751,323</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_86b20c7c-9440-4cc5-b2bf-9e6292ae67cd" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">523,458</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1203c989-fcca-41ef-8220-02e85762c024" contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">603,814</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Supplemental disclosure of cash flow information:</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income taxes paid</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_296060f9-c676-4d5a-9afc-2c05092240a5" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeTaxesPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">26,963</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8ad4de80-1297-4d70-af75-d4f158aa90a6" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeTaxesPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">34,365</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_67682d09-2203-45bc-b702-3bc8ca542321" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeTaxesPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">16,515</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest paid</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e5cec633-9653-47b6-8fb2-cb63318a656e" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:InterestPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">988</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c7697cc-e2cf-43cd-ba21-44b2eb42c858" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:InterestPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,033</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0078bec0-82fd-4f99-9866-66ec9d2a8dd3" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:InterestPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,066</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Supplemental disclosure of non-cash investing and financing activities:</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Assets acquired under operating leases</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6bd6adba-a8b0-4281-b2e0-a09e9537fc5a" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,335</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6258eecb-e665-4d08-847a-c23e36622bad" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">29,126</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5276e335-675b-4e8f-8b2c-e187a66e42ce" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">85,312</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Fair value of shares of common stock issued for acquisitions</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_78b3a2c0-3113-42d2-b9f8-4314cc8092c9" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:StockIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,569</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4292e81f-d1eb-48a3-878a-f6bec6b5fb00" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:StockIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ef607144-bf99-48e1-a382-17a055876581" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:StockIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82,968</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Fair value of shares of common stock issued for contingent consideration earnouts</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c840bb68-9df9-49ab-b348-1d7461603858" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,229</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_77220336-16a5-4742-80fa-a4ede8913e69" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1a8309e8-ba7a-49b3-a6fd-f8691cb4ca88" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition date fair value of contingent consideration earnouts</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5acfc73e-82d7-428d-a8f2-538a67e0b1e1" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,640</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2b0d25fd-fe99-43ba-b284-06a8899d23b2" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9e433cbf-f124-400d-b274-92f6f746a1c1" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">88,373</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Issuance of 2023 Notes in exchange of 2019 Notes</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_23750adf-28f6-4e3a-aaf6-df2e2053bcce" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:NotesIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">42,179</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b13cb4a3-9ff2-4d01-8b7e-9ebccb89b992" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:NotesIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e37709a9-9285-459c-83d5-112ba7cea16a" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:NotesIssued1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Extinguished 2019 Notes</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_58699fff-8324-4572-ac15-c8b7cb9f1bb4" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ExtinguishmentOfDebtAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">29,634</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ffcc24ab-aeb6-4d50-922a-8bee2009ca56" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ExtinguishmentOfDebtAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4f478728-bdf9-45f9-b6fd-d23f63952f5f" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ExtinguishmentOfDebtAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accompanying notes are an integral part of these consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">74</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">REPLIGEN CORPORATION</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="notes_to_consolidated_financial_statemen"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">NOTES TO CONSOLIDATED </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FINANCIAL STATEMENTS</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_67c2a723-ed16-4c9c-95d2-fc70499b52d7" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:NatureOfOperations" escape="true"><div style="display:flex;margin-top:12pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">1.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Organization and Nature of Business </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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, chromatography, process analytics and proteins. See Part I, Item 1. &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business - Our Products&#8221;, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of this report for additional information related to the Company's products. 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;), its Chief Executive Officer (&#8220;CEO&#8221;), reviews financial information presented on a consolidated basis for purposes of allocating resources and evaluating financial performance. See Note 2, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Summary of Significant Accounting Policies &#8211; Segment Reporting,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for more information on the Company&#8217;s segment.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A majority of our </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_134e78d8-b528-447f-a82b-203180bcc3cc" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="rgen:NumberOfManufacturingSites" unitRef="U_Sites" decimals="INF" format="ixt:num-dot-decimal">19</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> manufacturing sites are located in the United States (California, Massachusetts, New Hampshire, New Jersey, New York and Texas). Outside the United States, we have manufacturing sites in Estonia, France, Germany, Ireland, the Netherlands and Sweden.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 U.S. Food and Drug Association 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div>
  <div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_60788f5c-a099-4533-a6bc-756a6d29a648" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:SignificantAccountingPoliciesTextBlock" escape="true"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">2.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Summary of Significant Accounting Policies </span></div></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_cdb0a45f-9935-4cf9-9dc4-3b85e9068c10" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:UseOfEstimates" escape="true" continuedAt="F_cdb0a45f-9935-4cf9-9dc4-3b85e9068c10_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Use of Estimates</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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, contingent consideration, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, estimates related to the fair value of the conversion features of the convertible notes for purposes of assessing whether debt extinguishment or modification accounting applies to the Company&#8217;s debt exchange, stock-based compensation, tax reserves and recoverability of the Company&#8217;s net deferred tax assets and related valuation allowance.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_cdb0a45f-9935-4cf9-9dc4-3b85e9068c10_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_893fff80-f3a8-4e40-9f3c-3beb197948ab" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Basis of Presentation</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All significant intercompany accounts and transactions have been eliminated in consolidation. Certain prior year balances have changed to reflect current year presentation.</span></p></ix:nonNumeric></div><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">75</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_43090f7d-9273-4ae9-bfd4-373c3bb89c0b" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" escape="true" continuedAt="F_43090f7d-9273-4ae9-bfd4-373c3bb89c0b_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Foreign Currency</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_43090f7d-9273-4ae9-bfd4-373c3bb89c0b_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 include adjustments related to the Company&#8217;s various intercompany loans with foreign subsidiaries. Intercompany loans determined to be permanent are remeasured at each period end and included in accumulated other comprehensive loss on the consolidated balance sheets. Intercompany loans with foreign subsidiaries determined to be repayable are remeasured at each period end and included in other income (expenses) on the consolidated statements of comprehensive income.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_1ea85f78-1717-4546-aca7-3fd55bc922eb" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:RevenueRecognitionPolicyTextBlock" escape="true" continuedAt="F_1ea85f78-1717-4546-aca7-3fd55bc922eb_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenue Recognition</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 sciences and biopharmaceutical industries. Under Accounting Standard Codification No. (&#8220;ASC&#8221;) 606, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenue from Contracts with Customers,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 606-10-32-18, 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 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_1ea85f78-1717-4546-aca7-3fd55bc922eb_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_83eca441-945c-47ad-8609-5803cf027e30" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" escape="true" continuedAt="F_83eca441-945c-47ad-8609-5803cf027e30_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Risks and Uncertainties</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_83eca441-945c-47ad-8609-5803cf027e30_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">76</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_b6e68a2e-577c-412d-9b68-3e5ac8a53212" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" escape="true" continuedAt="F_b6e68a2e-577c-412d-9b68-3e5ac8a53212_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cash, Cash Equivalents and Restricted Cash</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 31, 2023 and 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_b6e68a2e-577c-412d-9b68-3e5ac8a53212_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cfe20114-81d5-4db5-a215-d3e031c71872" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">751.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f87814f9-34fa-48bb-b37b-7394a5c5a9cd" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">523.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_671a91a2-dd5c-4fdf-a0d9-82f34df1d774" contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">603.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_4d760862-af03-4c77-a6c8-12c2d31da9af" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:MarketableSecuritiesPolicy" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Investment Securities</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We classify our investment securities in one of three categories: held to maturity, trading, or available for sale. Our investment portfolio at December 31, 2022 consisted of an investment in U.S. treasury bills classified as held to maturity which was included in the Company's consolidated balance sheets under marketable securities held to maturity. These marketable securities matured in June 2023 and there are no comparable investments as of December 31, 2023. Securities that we have the positive intent and ability to hold to maturity are classified as held to maturity and stated at amortized cost in the consolidated balance sheets. Management determines the appropriate classification of securities at the time of purchase based upon management's intent with regards to such investment and reevaluates such designation as of each balance sheet date. The Company's investment policy requires that it only invest in high-rated securities and limit its exposure to any single-user. There were no realized or unrealized gains or losses on investments recorded as of December 31, 2023, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company classifies marketable securities as short-term when they have remaining contractual maturities of one year or less from the balance sheet date. The Company periodically assesses its marketable securities, if any, for impairment or credit losses.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ecdb2804-d66f-4673-aa29-09879caf0985" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:FairValueMeasurementPolicyPolicyTextBlock" escape="true" continuedAt="F_ecdb2804-d66f-4673-aa29-09879caf0985_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measurement</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 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:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:8.08%;"/>
        <td style="width:91.92%;"/>
       </tr>
       <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
        <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 1  &#8211;</span></p></td>
        <td style="text-indent:5pt;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that the Company has the ability to access.</span></p></td>
       </tr>
       <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:middle;"><p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="text-indent:5pt;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
        <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 2  &#8211;</span></p></td>
        <td style="text-indent:5pt;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities.</span></p></td>
       </tr>
       <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:middle;"><p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="text-indent:5pt;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
        <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 3  &#8211;</span></p></td>
        <td style="text-indent:5pt;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on inputs that are unobservable and significant to the overall fair value measurement.</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_ecdb2804-d66f-4673-aa29-09879caf0985_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">77</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_8ecfa8f4-41f3-42dd-8126-386a81560cdc" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:CreditLossFinancialInstrumentPolicyTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Allowance for credit losses</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_33b7de91-d79b-443c-b9cd-77b8ec9f620e" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:InventoryPolicyTextBlock" escape="true" continuedAt="F_33b7de91-d79b-443c-b9cd-77b8ec9f620e_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Inventories</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories relate to the Company&#8217;s bioprocessing business. The Company values inventory at cost or, if lower, net realizable value, using the first-in, first-out 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, work-in-process and finished products. The Company writes 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 consolidated financial statements, there have been no material adjustments related to a revised estimate of inventory valuations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_33b7de91-d79b-443c-b9cd-77b8ec9f620e_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Work-in-process and finished products inventories consist of material, labor, outside processing costs and manufacturing overhead.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_4d8bd40a-80f8-467e-9d2c-ab2bdab076fd" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:LoansAndLeasesReceivableLeaseFinancingPolicy" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Lease Accounting</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company adopted Accounting Standards Update No. (&#8220;ASU&#8221;) 2016-02, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Leases (Topic 842)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8221; (&#8220;ASC 842&#8221;) as of January 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 right-of-use asset and liability on its consolidated balance sheets 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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A lease qualifies as a finance lease if any of the following criteria are met at the inception of the lease: (i) there is a transfer of ownership of the leased asset to the Company by the end of the lease term, (ii) the Company holds an option to purchase the leased asset that it is reasonably certain to exercise, (iii) the lease term is for a major part of the remaining economic life of the leased asset, (iv) the present value of the sum of lease payments equals or exceeds substantially all of the fair value of the leased asset, or (v) 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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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) a portion that is recorded as imputed interest expense and (ii) a portion that reduces the finance liability associated with the lease.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company does not separate lease and non-lease 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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 sheets.</span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">78</span></p></div>
       <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 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 certain 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;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_e31bd3f0-4e92-44ce-8051-729437aee5d9" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:AccruedLiabilitiesPolicyTextBlock" escape="true" continuedAt="F_e31bd3f0-4e92-44ce-8051-729437aee5d9_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued Liabilities</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_e31bd3f0-4e92-44ce-8051-729437aee5d9_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 consolidated financial statements.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_23fe1b2d-7e2b-47a3-9a6e-b3072a7d9439" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeTaxPolicyTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Deferred taxes are determined based on the difference between the consolidated financial statements 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 &#8220;more-likely-than-not&#8221; 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. The Company is subject to a territorial tax system under the Tax Cuts and Jobs Act enacted in December 2017, in which the Company is required to provide for tax on Global Intangible Low-Taxed 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.</span></p></ix:nonNumeric></div><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">79</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_1b304116-5384-45cf-9173-e6cd3acbe704" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" escape="true" continuedAt="F_1b304116-5384-45cf-9173-e6cd3acbe704_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Property, Plant &amp; Equipment</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_9f1a22af-d1e9-4fbe-930a-00ef54887f46" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property, plant &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:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;">
         <tr style="visibility:collapse;">
          <td style="width:45.7%;"/>
          <td style="width:1%;"/>
          <td style="width:53.3%;"/>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:bottom;"><p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Classification</span></p></td>
          <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated Useful Life</span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Buildings</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:nonNumeric id="F_1e1d9685-4d5c-4ea2-a22e-727c540d1bc6" contextRef="C_9f6daf9a-a720-4fa8-ba48-9c6855cb2aff" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Thirty years</span></ix:nonNumeric></span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Leasehold improvements</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_833e71a6-5eeb-49e0-a78c-32c503c839cf;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Shorter of the term of the lease or estimated useful life</span></span></span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_5228bde0-a8f9-4d0e-8b0f-d7ad6cd002e0;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><ix:nonNumeric id="F_d5cf3fda-85a8-4e6f-b323-7cfe6e8df2e3" contextRef="C_88e1120d-11cc-4358-bc17-de14ebe14017" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">twelve years</span></ix:nonNumeric></span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Furniture, fixtures and office equipment</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_f687d5a1-4081-4400-8f1a-6ce4fa87b8cf;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><ix:nonNumeric id="F_fbfd8c5f-4701-47c8-bc7d-ec75d002e26e" contextRef="C_1d4659d2-c3f5-4a48-8cda-dee4ef869001" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">eight years</span></ix:nonNumeric></span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Computer hardware and software</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_254e1113-308c-468a-ae2c-284636e490d3;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><ix:nonNumeric id="F_a53ca1bc-0491-4b73-939c-51238ed940b2" contextRef="C_3fe4a608-1d4f-468c-8b33-9b8b5681611f" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">seven years</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;or estimated useful life</span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vehicles</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:nonNumeric id="F_3d198e9e-b00e-4999-b505-cf68eb1c1171" contextRef="C_32322d77-2667-4a63-8d07-cfba6b2de40b" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Five years</span></ix:nonNumeric></span></p></td>
         </tr>
        </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Upon disposal of property, plant &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.</span></p></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:continuation id="F_1b304116-5384-45cf-9173-e6cd3acbe704_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_368e8fce-a92f-4ff9-8423-87147a454cda" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EarningsPerSharePolicyTextBlock" escape="true" continuedAt="F_368e8fce-a92f-4ff9-8423-87147a454cda_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Earnings Per Share</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company reports earnings per share (&#8220;EPS&#8221;) in accordance with ASC 260, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">"Earnings Per Share," </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">which establishes standards for computing and presenting EPS. Basic EPS is computed by dividing net income available to common shareholders by the weighted average number of common shares outstanding during the period. Diluted EPS is computed by dividing net income available to common shareholders by the weighted-average number of common shares and dilutive common share equivalents outstanding during the period. Potential common share equivalents consist of restricted stock awards (including performance stock units) and the incremental common shares issuable upon the exercise of stock options and warrants. Under the treasury stock method, unexercised &#8220;in-the-money&#8221; 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.</span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">80</span></p></div>
       <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_fb5cd533-6a11-4563-85c9-738b846adee8" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A reconciliation of basic and diluted weighted average share outstanding is as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
         <tr style="visibility:collapse;">
          <td style="width:57.477%;"/>
          <td style="width:1.399%;"/>
          <td style="width:1%;"/>
          <td style="width:10.776%;"/>
          <td style="width:1%;"/>
          <td style="width:1.399%;"/>
          <td style="width:1%;"/>
          <td style="width:10.776%;"/>
          <td style="width:1%;"/>
          <td style="width:1.399%;"/>
          <td style="width:1%;"/>
          <td style="width:10.776%;"/>
          <td style="width:1%;"/>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except per share data)</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Numerator:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2418b8df-60d9-4dcc-9367-afc8c6b4d44e" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,577</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0aa9591a-7b47-4285-855e-f0566914e655" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">185,959</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9129d7b3-8b8c-4e83-ac7b-0d941387e9b3" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">128,291</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive securities:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;Charges associated with convertible debt instruments, net of tax</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cd3b6172-a625-47e5-81a0-77609b2e17a3" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:InterestOnConvertibleDebtNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_54eafb32-e6d8-4e18-9735-27c1f9c38bbe" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:InterestOnConvertibleDebtNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">387</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7ca5fb46-444e-45e7-8873-173f347038c8" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:InterestOnConvertibleDebtNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9ab317c1-46c0-4e37-81bf-0bd564999e67" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:NetIncomeLossAttributableToParentDiluted" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,577</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_368d1ad5-3011-4ada-890d-3fd972f18bb1" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:NetIncomeLossAttributableToParentDiluted" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">186,346</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8f634774-162f-4b3d-899f-c2196adf420d" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:NetIncomeLossAttributableToParentDiluted" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">128,291</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Denominator:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average shares used in computing net income per<br/>&#160;&#160;&#160;share - basic</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5507b873-231b-4c52-8083-c99a333c6e5a" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:NumberOfSharesBasicOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,720</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8bd06516-822a-427e-88a3-281fce91f044" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:NumberOfSharesBasicOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,460</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_18252f60-eef8-4198-aa6a-451348ab5f04" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:NumberOfSharesBasicOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">55,015</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive shares:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options and stock units</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4fe95427-8d86-4aa2-9d35-0091e07334d8" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:WeightedAverageNumberOfSharesRestrictedStock" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">457</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aab27d50-2a45-4b81-bde6-dbfba9f17acb" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:WeightedAverageNumberOfSharesRestrictedStock" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">608</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c23bde4e-22c7-4099-8dec-97a2fe483a1d" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:WeightedAverageNumberOfSharesRestrictedStock" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">915</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible senior notes</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b42f939a-afb3-44d0-b885-18b00aee0c42" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">181</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_41ae403b-8eed-40d6-9d24-738bd7b5f54b" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,360</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d1c02801-69d6-4cd9-b0f7-f09c531422ce" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,253</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3855804b-36bf-40e4-a2ea-c72389e492a0" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">8</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2eed53a1-b211-4c6f-9a17-0fef06129274" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">11</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c15f81a3-2734-48fc-bc07-7d479eb4a460" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" unitRef="U_shares" decimals="INF" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Dilutive effect of unvested performance stock units</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d6147b24-5a61-4f37-a8e5-1094e1de6a2e" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">11</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_93ec886e-4080-44bd-a3c7-67ab50cdc9a7" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">16</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e5d30a29-2116-4cbb-b9a7-cbb1c40c6366" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">81</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Dilutive potential common shares</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_64ac8264-0727-4e56-9b3a-fe8cc63a3845" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">657</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bf49c5a5-01c9-4e41-bb2f-991691e80868" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,995</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_855f2017-dc8d-435a-8503-e6ad14246262" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">2,249</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0076880f-236e-442e-b7b4-e296b6ff9bee" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">56,377</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0363b7a7-5fb1-46bf-bea8-c926407b6422" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">57,455</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_24c50e33-65ce-4172-bc15-36edabc8f24b" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">57,264</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:5pt;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnings per share:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3dc6e7b6-b8d5-4382-8a90-33508a895794" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal">0.75</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bb2d14b0-10f8-4649-8656-fb0213c0d1d3" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal">3.35</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9df6b3e4-d464-4493-b723-c3b421a286e2" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal">2.33</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1495f5d8-fc23-436d-b45f-321e9160edb2" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal">0.74</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_12f42eb4-a5fc-47f1-80af-06fbd8c629af" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal">3.24</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9be3a7a5-6165-426b-9638-a39524bb5a85" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal">2.24</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><ix:footnote id="FNT_08d7ab55-8a98-4fca-9059-6d00b6e7c5da" xml:lang="en-US"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the dilutive impact for the Company's </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8ee30bbd-4891-441f-b6bb-3c9cfbb38136" contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" unitRef="U_pure" scale="-2" decimals="5" format="ixt:num-dot-decimal">0.375</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2024 (the &#8220; 2019 Notes&#8221;) and its </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c472ac3f-9093-40d6-8ed8-25a3875c4deb" contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">1.00</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2028 (the &#8220;2023 Notes&#8221;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 14, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for more information.</span></ix:footnote></div></div></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the years ended December 31, 2023, 2022 and 2021, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_af8a4337-4f1b-4306-a6e7-522f40758f30" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">306,849</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c02b23f2-a5ab-44af-81e9-0b7c74a526cf" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">177,318</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares and </span><span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;"><ix:nonFraction id="F_77859c3e-c27b-4cc9-8d28-da3c09d8f2b2" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">68,968</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares, respectively, 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 for years presented.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2019, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_97b72180-4efa-4619-8867-13cd95d9ee14" contextRef="C_02f5fe63-1ce5-472c-93ac-0dde30d0afc7" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">287.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2019 Notes. As provided by the terms of the indenture underlying the 2019 Notes, prior to March 4, 2022, conversion of the 2019 Notes could have been settled in cash, shares of the Company&#8217;s common stock or a combination thereof, at the Company&#8217;s election. On March 4, 2022, we entered into the Second Supplemental Indenture for the 2019 Notes, which irrevocably elected to settle the conversion of the 2019 Notes using a combination of cash and shares of the Company's common stock, settling the par value of the 2019 Notes in cash and any excess conversion premium in shares. On December 14, 2023, the Company exchanged, in a privately negotiated exchange, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0f32e05b-65cb-4411-9fc3-cc922ffefcae" contextRef="C_c208151c-fd40-4b9b-a486-b7d76d6e1366" name="us-gaap:DebtInstrumentCarryingAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">309.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal amount of 2023 Notes for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_06299ccb-5629-4eee-932c-94d7759a91a3" contextRef="C_bc05f12f-1d3d-467b-a871-ab4a3a2788b9" name="us-gaap:DebtInstrumentCarryingAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">217.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal amount of 2019 Notes and issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b287a57e-6948-4b23-90c8-d31345f48843" contextRef="C_c208151c-fd40-4b9b-a486-b7d76d6e1366" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">290.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount  of 2023 Notes for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_58f4235d-2ac2-423e-a6e2-a863a12fb4a7" contextRef="C_c208151c-fd40-4b9b-a486-b7d76d6e1366" name="us-gaap:Cash" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">290.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash. Following the close of the Exchange Transaction, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5ef7eaf5-0ace-4b36-8f2b-e71c23e04e7c" contextRef="C_bc05f12f-1d3d-467b-a871-ab4a3a2788b9" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">69.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in aggregate principal amount of 2019 Notes remains outstanding with terms unchanged.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As provided by the terms of the Second Supplemental Indenture underlying the 2019 Notes, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock. This means the Company will settle the par value of the 2019 Notes in cash and any excess conversion premium in shares. As mentioned in Note 14, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company adopted ASU 2020-06 effective January 1, 2022. Under ASU 2020-06, the Company is required to reflect the dilutive effect of the convertible securities by application of the &#8220;if-converted&#8221; method, which means the denominator of the EPS calculation would include the total number of shares assuming the 2019 Notes had been fully converted at the beginning of the period. Prior to March 4, 2022, the Company had the choice to settle the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">81</span></p></div>
       <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">conversion </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of the 2019 Notes in cash, stock or a combination of the two. Therefore, from January 1, 2022 (the date the Company adopted ASU 2020-06) to March 4, 2022, the Company included </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5ec002a4-3fd3-4508-bae0-7818d7a86b9b" contextRef="C_1d2b9541-4b8e-48fe-be8d-2836e857321f" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">3,474,429</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares in the denominator of the EPS calculation, applying the if converted method. Subsequent to March 4, 2022, after the Second Supplemental Indenture became effective, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock, and from March 5, 2022 forward, only the excess premium will be settled with shares. Under the if-converted method of calculating dilutive shares, the Company was also required to exclude amortization of debt issuance costs and interest charges applicable to the convertible debt from the numerator of the dilutive EPS calculation for the period from January 1, 2022 to March 4, 2022, as if the interest on convertible debt was never recognized for that period. As a result, the Company excluded interest charges of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eb1d9426-27e6-41ff-ae35-286070d64782" contextRef="C_79056218-50c8-44e2-82c2-3a208471f648" name="us-gaap:InterestOnConvertibleDebtNetOfTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (net of tax) from the numerator and included </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c5c59f88-ae2b-4a42-80c1-ade54d7fcc2f" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:DilutiveEffectOnSharesOfConversionPremium" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,359,957</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares in the calculation of diluted earnings as the dilutive effect of the conversion premium for the year ended December 31, 2022. There were no comparable amounts included in 2023 or 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_368e8fce-a92f-4ff9-8423-87147a454cda_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prior to the adoption of ASU 2020-06, the Company applied the provisions of ASC 260, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Earnings Per Share,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">subsection 10-45-44, to determine the diluted weighted average shares outstanding as it related to the conversion spread on its convertible notes. Accordingly, the par value of the 2019 Notes was not included in the calculation of diluted EPS, but the dilutive effect of the conversion premium was considered in the calculation of diluted EPS using the treasury stock method. The dilutive impact of the 2019 Notes was 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 was no dilution from the accreted principal of the 2019 Notes.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_54a6e08f-76b9-47ec-84fb-295f4adf4c22" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:SegmentReportingPolicyPolicyTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Segment Reporting</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Operating segments are components of an enterprise that engage in business activities for which discrete financial information is available and regularly reviewed by the CODM in deciding how to allocate resources and assess performance. Our CEO has been identified as our CODM.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company views its operations, makes decisions regarding how to allocate resources and manages its business as </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ce9d2457-953f-4e96-91bf-36d99429926e" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:NumberOfOperatingSegments" unitRef="U_Segment" decimals="INF" format="ixt-sec:numwordsen">one</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_cb49d847-b308-4f82-89bf-4aecfe9c43dd" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents product revenues by product line:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:59.272%;"/>
          <td style="width:2%;"/>
          <td style="width:1%;"/>
          <td style="width:16.363%;"/>
          <td style="width:1%;"/>
          <td style="width:2%;"/>
          <td style="width:1%;"/>
          <td style="width:16.363%;"/>
          <td style="width:1%;"/>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span><span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;">(1)</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Filtration products</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a593e441-e4f3-42dd-99bb-cab29fb4e7fd" contextRef="C_79913b54-4d18-4861-8db0-f6441ae54ca2" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">347,781</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9b3abe8d-decc-439d-a414-4e6ab394d134" contextRef="C_5cb3e512-dc73-4d57-ab65-9f51145bcb3b" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">495,930</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Chromatography products</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5a0e7162-6c91-4eef-96e9-8253c9d7d4f5" contextRef="C_b37f2dd7-db8d-4564-8490-c13af0a7dc9f" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">126,629</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f71d714a-7a66-4d86-bfc1-c2cce3f05619" contextRef="C_ab11a2aa-60dc-4803-90bc-c52248d48c95" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">131,680</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Process analytics products</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c53deb8c-c6c9-42a9-aadc-f665ee810e35" contextRef="C_45cbfa90-1a17-4df2-a94b-e3842b34359b" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">56,820</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b0ed2dca-bfb7-4c6f-8b22-dd459ccf287c" contextRef="C_257e3f99-1942-4ddd-b38b-f574a469f425" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">53,512</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proteins products</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_42c86271-3235-4e59-a758-ef673ccb9297" contextRef="C_c4bd80fe-9b6a-49e6-924a-af77a3bac3b4" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">103,463</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b0b74997-834b-4031-a17e-edab4b8f0a4c" contextRef="C_efda8109-3ef1-45fa-b367-221c2fff8a2f" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">114,320</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9f975e29-63b4-4dea-a75b-e358d0b3bb45" contextRef="C_d75bbd09-118c-44a7-affe-8efb170003a5" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,688</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_67e17bf2-7a90-47d0-9f2c-a9bdb1463f07" contextRef="C_1a51bea0-3b9d-4190-9135-d28e1bbd308e" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,741</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total product revenue</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6778190e-e6e1-441b-a728-bd975f2fb93b" contextRef="C_dee2a31b-7253-47c6-9660-f5b5e672b177" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">638,381</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_86acc7d4-a195-49cf-9fe7-bdcd77990256" contextRef="C_9011b1f0-543e-44f7-aa9b-706c7c794f92" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">801,183</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><p style="margin-left:4.667%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.75pt solid;margin-right:84.667%;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><ix:footnote id="FNT_561a82d8-d7a8-437a-b6cd-97d08633661d" xml:lang="en-US"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) from April 17, 2023, as well as Metenova Holding AB (&#8220;Metenova&#8221;) from October 2, 2023.</span></ix:footnote></div></div><div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(2)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2021 revenue for filtration products includes revenue related to Polymem S.A. (&#8220;Polymem&#8221;) from July 1, 2021, as well as BioFlex Solutions LLC (&#8220;BioFlex&#8221;) and Newton T&amp;M Corp. (&#8220;NTM&#8221;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#8220;Avitide&#8221;) from September 20, 2021 through December 31, 2021. </span></div></div></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue from filtration products includes the XCell ATF</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> systems and consumables as well as the KrosFlo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and SIUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> filtration products. Revenue from chromatography products includes the OPUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> chromatography pre-packed columns, chromatography resins and ELISA test kits. Revenue from process analytics products includes the SoloVPE</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, FlowVPE</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> RPM</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and FlowVPX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">82</span></p></div>
       <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_dc977cbc-3b94-42b2-bcc8-edbf8991837e" contextRef="C_e63149c3-6dce-46a4-8671-9b15fce4a2b7" name="us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total revenue by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented (based on the location of the customer):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:57.409%;"/>
          <td style="width:1%;"/>
          <td style="width:1%;"/>
          <td style="width:11.177999999999999%;"/>
          <td style="width:1%;"/>
          <td style="width:1%;"/>
          <td style="width:1%;"/>
          <td style="width:11.177999999999999%;"/>
          <td style="width:1%;"/>
          <td style="width:1%;"/>
          <td style="width:1%;"/>
          <td style="width:11.238%;"/>
          <td style="width:1%;"/>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue by customers' geographic locations:</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ec4eb78b-770e-4577-ba51-3356bf6aa24c" contextRef="C_3bba5629-7ed9-481b-801b-a3d769b95b72" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">44</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dcdfaae6-89f3-4958-817c-33ca184b38b9" contextRef="C_dcfe37fa-3569-4a2d-ba66-19bca23b7d2b" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">43</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ac0547a7-fcc2-4f93-9525-a14ea5281547" contextRef="C_33f5639d-9af1-4153-877c-ae26675dc4f7" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">41</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2111799c-23e8-4720-b077-bb3085317ec7" contextRef="C_2b50fe49-16f6-46b5-86a3-05390f7f77d9" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">37</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_29c64b08-39ea-499f-a6fb-258889fc2f32" contextRef="C_cd267744-c09a-477e-9c64-ffc885fc8422" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">37</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4908bd5d-6ed9-435d-a92d-9a0d7e09693f" contextRef="C_4da766cd-d426-449c-8270-2b81279ef550" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">40</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC/Other</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b1e9d27-cf11-4a6e-83da-fa18a44cb238" contextRef="C_1c9ae0a3-e3e4-4470-8ffe-8b0ec9fe3b73" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">19</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f9116cef-8881-4059-91cd-940bd6a77bf5" contextRef="C_2ce1f9f7-c650-481f-a371-7fac561d3950" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">20</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ea457bd8-4d58-4fc4-878b-8af6fd0cf2b4" contextRef="C_269e5895-414f-4f10-a1b6-ed25f4fe70f5" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">19</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0ec0e4cb-8b6d-4a82-b501-d2bd5f748437" contextRef="C_150e519b-39a6-4239-bf63-7e5d43c982be" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8a66fad2-b7e0-42fd-9295-1d11ff8ea2d8" contextRef="C_cb61d3f6-bd99-4568-99e1-9f1c180df1bf" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_52ead9ce-9a71-435a-a5f3-084107ee97e3" contextRef="C_879baac1-a78a-4fba-bc72-f72f103d8c30" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
        </table><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:nonNumeric></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a243566c-508d-4617-9c68-db9315dd1f2f" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:66.993%;"/>
          <td style="width:1.62%;"/>
          <td style="width:1%;"/>
          <td style="width:12.883000000000001%;"/>
          <td style="width:1%;"/>
          <td style="width:1.62%;"/>
          <td style="width:1%;"/>
          <td style="width:12.883000000000001%;"/>
          <td style="width:1%;"/>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets by geographic locations:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_23db32c0-394d-45ed-87d0-27a71961a46a" contextRef="C_9b470293-9e77-40c8-bf3d-3b9ff9fbabc6" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,371,208</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_786101af-ba31-4882-aa49-2ef66d1783fa" contextRef="C_4d52c185-9ad7-401a-8858-4b968a11b1e8" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,209,244</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1faca369-7f9d-442a-9929-245fdda355c3" contextRef="C_1ecbfa2c-bd91-4ef0-984f-d6d67284458b" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">426,034</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_55aa9732-ff9e-4a2a-bbbe-12abcc712d5f" contextRef="C_154fd8ae-c58a-4c87-9250-bb5df675f1a8" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">287,543</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4f8890e8-dd28-47ca-9724-b64b3bd88205" contextRef="C_552cd63f-cd47-4f47-80ac-a57e7b5686a6" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,169</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_53d78a8c-6f32-4b37-8bfc-b18eb94357ca" contextRef="C_7b117a89-fef0-4d8f-a2d5-990fbbc276b0" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,871</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets by geographic location</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f1d6546b-ba49-47e6-8540-33a5b62c8d12" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,824,411</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c1260b7f-35f0-422a-bc46-9a5d196620ea" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,524,658</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_86b3d735-432d-4d39-9b22-6dbf39452c14" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s long-lived assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:66.993%;"/>
          <td style="width:1.62%;"/>
          <td style="width:1%;"/>
          <td style="width:12.883000000000001%;"/>
          <td style="width:1%;"/>
          <td style="width:1.62%;"/>
          <td style="width:1%;"/>
          <td style="width:12.883000000000001%;"/>
          <td style="width:1%;"/>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-lived assets by geographic locations:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_60ece05f-85e0-4689-ab79-e8f1fcacd27a" contextRef="C_9b470293-9e77-40c8-bf3d-3b9ff9fbabc6" name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">278,033</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b5072428-2282-4478-ad25-0a4fd00d3377" contextRef="C_4d52c185-9ad7-401a-8858-4b968a11b1e8" name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">275,151</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_441f752f-42df-4cdd-8777-441248ca05fc" contextRef="C_1ecbfa2c-bd91-4ef0-984f-d6d67284458b" name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">43,280</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4ab0bcfb-0ff5-4b60-a735-2bc4e0d94507" contextRef="C_154fd8ae-c58a-4c87-9250-bb5df675f1a8" name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">38,541</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ac3b96f5-8086-4bcb-add3-fe4955732c81" contextRef="C_552cd63f-cd47-4f47-80ac-a57e7b5686a6" name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,919</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_73050553-9a0a-4dbc-88ba-739569ad7881" contextRef="C_7b117a89-fef0-4d8f-a2d5-990fbbc276b0" name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,819</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total long-lived assets by geographic location</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_379ef417-d099-4b0b-9baf-ab58cbff56c5" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">324,232</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9393170b-735e-419b-9e2f-741093f691b6" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">316,511</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table></ix:nonNumeric></div></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_c216f7ee-e219-411a-acba-c0c010cbf683" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ConcentrationRiskCreditRisk" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentrations of Credit Risk and Significant Customers</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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, limit its credit exposure to any one issuer (with the exception of U.S. treasury obligations) and type of instrument is limited. At December 31, 2023, the Company had no investments associated with foreign exchange contracts, options contracts or other foreign hedging arrangements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 write-off 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3b9c5e34-a3e1-433d-a33b-3cb6cb473dda" contextRef="C_3e29d7b6-1365-41b8-bbda-785796d1e6b6" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen"><ix:nonFraction id="F_8df43eaa-a5e4-4ca1-96ac-0ce157b3463e" contextRef="C_1b8252bc-f643-40ee-921b-58fa5486df44" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> revenue from customers that represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6c4b041d-e936-428d-af8a-cff86afd48d9" contextRef="C_921a48f8-4769-4d33-a7a3-7e05610adf24" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal"><ix:nonFraction id="F_9d6c12e7-d651-4e9a-a11f-ccec63fcd0f0" contextRef="C_8876d512-9885-487e-975e-5ffa51ba8df7" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">10</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% or more of the Company's total revenue for the year ended December 31, 2023 or 2022. Revenue from Pfizer Inc. accounted for </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c953ea4d-e68b-40cb-a5e4-9189cf4fb997" contextRef="C_3be99d0a-f372-4903-bb6d-f2466e54c75b" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">10</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of total revenue for the year ended December 31, 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">No accounts receivable balance from a specific customer represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_953e800d-4526-40cb-88a7-ed5ad3e8f3ba" contextRef="C_aa0933a1-5cea-46e0-b809-dbe79ee2c2b8" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">10</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% or more of the Company's total trade accounts receivable at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Significant accounts receivable balances representing </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_61062106-4896-4075-9805-3e86a7e6f559" contextRef="C_d405691e-519f-4635-8348-61273f0c93b0" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">10</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">or more of the Company&#8217;s total</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">83</span></p></div>
       <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">trade </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">accounts receivable balances at December 31, 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> came from our accounts receivable balance outstanding with Purolite, an Ecolab Inc. company (&#8220;Purolite&#8221;), which was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_39de24e5-eb3a-44fb-bc85-6e745146e29b" contextRef="C_07e86b36-118b-45f6-adaf-e4bf5d62364c" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">12.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the Company's total trade accounts receivable balance.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_1fba0c1b-bfd3-40ac-8126-62d93b52a48d" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations, Goodwill and Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 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, 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. These changes in the fair value of contingent consideration are recorded to contingent consideration in the Company&#8217;s consolidated statements of comprehensive income. For the years ended December 31, 2023 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, we recorded a decrease of $</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b4892a1e-7704-43e5-b13c-23e0afc1d6a7" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="rgen:ContingentConsiderationObligationEstimated" unitRef="U_USD" scale="6" decimals="-5" sign="-" format="ixt:num-dot-decimal">30.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_40957695-8e2e-4598-b570-523b34447fca" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="rgen:ContingentConsiderationObligationEstimated" unitRef="U_USD" scale="6" decimals="-5" sign="-" format="ixt:num-dot-decimal">28.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively, to the estimated contingent consideration obligation, primarily related to the acquisition of Avitide (the &#8220;Avitide Acquisition&#8221;).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 after-tax cash flows attributable to these assets over their respective useful lives and then discounting these after-tax 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. The Company believes the estimated purchased customer relationships, developed technologies, trademark/tradename, patents, non-compete agreements 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 such assets.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Goodwill is not amortized and is tested for impairment at least annually at the reporting unit level. The Company operates as one reporting unit as of the goodwill impairment measurement date of December 31, 2023. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the qualitative assessment of the Company&#8217;s </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_53731aa6-b562-4b70-a215-e5c6789c17c9" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:NumberOfReportingUnits" unitRef="U_ReportingUnit" decimals="INF" format="ixt-sec:numwordsen">one</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> reporting unit during the 2023 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 31, 2023. 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. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a3739a58-badd-4b1c-96dc-b30aeea1b4e8" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:GoodwillImpairmentLoss" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen"><ix:nonFraction id="F_2b59d83e-dc3c-45fc-85b7-824a02691d08" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:GoodwillImpairmentLoss" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen"><ix:nonFraction id="F_4530744b-d68c-4c69-906b-ac8a660a80bd" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:GoodwillImpairmentLoss" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment to goodwill and therefore </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b17c0732-5d6e-4d6e-8fe6-38e7614254f5" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:AssetImpairmentCharges" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen"><ix:nonFraction id="F_3f6d4d55-54b9-4595-b664-2e87ea1fc324" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:AssetImpairmentCharges" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen"><ix:nonFraction id="F_191c64fc-7b61-4a6f-b69d-468c63baf794" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:AssetImpairmentCharges" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment charge recorded for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company has historically tested for impairment on its goodwill annually as of its measurement date of December 31st pursuant to company policy. Subsequent to the 2023 annual impairment test, the Company voluntarily changed its annual impairment assessment date from December 31st to October 1st, the first day of the Company's fourth quarter, beginning on </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_18deff7a-464b-4f17-9b7f-994468b22415" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:NewDateOfAnnualGoodwillImpairmentTest"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">October 1, 2024</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_cc0d4106-260f-49fd-a643-1a57c2c93e76" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ReasonForChangeInDateOfAnnualGoodwillImpairmentTest"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The change is being made to better align the annual impairment assessment date with the Company's annual planning and budgeting process as well as long-term planning and forecasting process.</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company has determined this voluntary change in accounting principle is preferable and will not impact its consolidated financial statements nor is it being done to accelerate, avoid or trigger an impairment charge. This change is not going to be applied retrospectively as it is</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">84</span></p></div>
       <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">impracticable </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to do so because retrospective application would require application of significant estimates and assumptions with the use of hindsight. Accordingly, the change will be applied prospectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 (&#8220;R&amp;D&#8221;) 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 existed 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 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Indefinite-lived intangible assets are reviewed for impairment at least annually. There has been </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_56bc6dbb-c941-470d-b2af-76d4936f31c8" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen">no</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment of our intangible assets for the periods presented.</span></p></ix:nonNumeric></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_727f2847-bced-403a-b4e7-baf322916770" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" escape="true" continuedAt="F_727f2847-bced-403a-b4e7-baf322916770_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Based Compensation</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company measures stock-based compensation cost at the grant date based on the estimated fair value of the award and recognizes it as an 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company uses the Black-Scholes option pricing model to calculate the fair value of share-based awards on the grant date. The following assumptions are used in calculating the fair value of share-based awards:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected term</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected volatility</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Risk-free interest rate</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The risk-free interest rate is the implied yield available on U.S. treasury zero-coupon issues with a remaining term equal to the option&#8217;s expected term on the grant date.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected dividend yield</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#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. Accordingly, the Company uses an expected dividend yield of zero to calculate the grant-date fair value of a stock option.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Estimated forfeiture rates</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The Company has applied, based on an analysis of its historical forfeitures, annual forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7ad9f539-6fd3-489d-9549-133658b15047" contextRef="C_a6df805d-7a1c-40ca-945b-fda4c79b5dc7" name="rgen:PercentageOfSharesSubjectToForfeiture" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_86b872ba-0897-4ff7-8790-941377762314" contextRef="C_e5c95f33-dcff-4103-abae-8ec2de93b51c" name="rgen:PercentageOfSharesSubjectToForfeiture" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_47ac7ed1-0faf-4d15-b8e7-b1af4f82aff1" contextRef="C_43b128f1-047e-4813-bab4-84eb75cde4c5" name="rgen:PercentageOfSharesSubjectToForfeiture" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-employee members of the Board of Directors (&#8220;Board&#8221;) to all unvested stock options as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">85</span></p></div>
       <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_727f2847-bced-403a-b4e7-baf322916770_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></ix:continuation></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_42fc0d88-1927-47a5-8f38-03320d7f8901" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:AdvertisingCostsPolicyTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Advertising Costs</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company expenses advertising costs as they are incurred. Advertising expense for the years ended December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cc26aecc-bb70-401d-b594-14b16cf0ce65" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:AdvertisingExpense" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_04452d7a-9f82-4ab3-bff1-10b222572abd" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:AdvertisingExpense" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_11dbb639-4c71-4334-93cf-4bfbdb31afdf" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:AdvertisingExpense" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></p></ix:nonNumeric></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_86a63eef-4994-48cb-9943-4675fdb99591" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recent Accounting Standards Updates</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We consider the applicability and impact of all ASUs and other accounting guidance 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 guidance that we feel may be applicable to the Company are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recently Issued Accounting Guidance &#8211; Adopted During the Fiscal Year</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2023, the U.S. Securities and Exchange Commission (the &#8220;SEC&#8221;) adopted the final rule under SEC Release No. 33-11216, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cybersecurity Risk Management, Strategy, Governance, and Incident Disclosure,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> requiring current reporting about material cybersecurity incidents and annual disclosures on management&#8217;s processes for assessing, identifying, and managing material cybersecurity risks, the material impacts of cybersecurity threats and previous cybersecurity incidents, the Board's oversight of cybersecurity risks, and management&#8217;s role and expertise in assessing and managing material cybersecurity risks. SEC Release No. 33-11216 was effective for us during the third quarter of 2023. The adoption of this guidance did not have a material impact on the Company&#8217;s consolidated financial statements and disclosures.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2022, the SEC adopted the final rule under SEC Release No. 33-11138,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> "Insider Trading Arrangements and Related Disclosures</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">," which requires new disclosures regarding insider trading policies and procedures, the use of Rule 10b5-1 plans by directors and officers, and stock option grants issued in close proximity to the release of material nonpublic information. SEC Release No. 33-11138 was effective for us for our second quarter of 2023, and did not have a material impact on our consolidated financial statements and disclosures.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recently Issued Accounting Guidance &#8211; Not Yet Adopted</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2023, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued ASU 2023-09, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes (Topic 740) - Improvements to Income Tax Disclosures.&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ASU 2023-09 enhances the transparency and decision usefulness of income tax disclosures by requiring consistent categories and greater disaggregation of information in the rate reconciliation and income taxes paid disaggregated by jurisdiction. ASU 2023-09 will be effective for the Company in its income tax disclosure included in its 2025 Annual Report on Form 10-K and will be applied on a prospective basis. However, retrospective application is permitted. Early adoption is also permitted. Besides a change in income tax disclosures, the Company does not expect the adoption of ASU 2023-09 to have a material impact on its consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">    </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In November 2023, the FASB issued ASU 2023-07, &#8220;S</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">egment Reporting (Topic 820) - Improvements to Reportable Segment Disclosures.&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ASU </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2023-07 will improve reportable segment disclosure requirements, primarily through enhanced annual and interim disclosures about significant segment expenses that are regularly provided to the CODM. The disclosure required under  ASU 2023-07 are also required for public entities with a single reportable segment. ASU 2023-07 will be effective for the Company for annual periods beginning on January 1, 2024 and interim periods beginning on January 1, 2025. The amendments of this guidance apply retrospectively to all prior periods presented in the consolidated financial statements. Early adoption is</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">86</span></p></div>
       <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">permitted. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Besides presentation in the segment footnote for its interim reporting, the Company does not expect the adoption of ASU 2023-07 to have a material impact on its consolidated financial statements.</span></p></ix:nonNumeric></div></ix:nonNumeric></div>
  <div><ix:nonNumeric id="F_6f5d6e85-dc64-4170-b21b-89a573681b18" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:FairValueDisclosuresTextBlock" escape="true"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">3.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Fair Value Measurements</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cash, Cash Equivalents and Marketable Securities Held to Maturity</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_942f39ed-2b6c-4350-be07-5262eb99b693" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the Company's cash, cash equivalents and marketable securities held to maturity as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:95.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:46.731%;"/>
        <td style="width:1.78%;"/>
        <td style="width:1%;"/>
        <td style="width:9.538%;"/>
        <td style="width:1%;"/>
        <td style="width:1.78%;"/>
        <td style="width:1%;"/>
        <td style="width:9.538%;"/>
        <td style="width:1%;"/>
        <td style="width:1.78%;"/>
        <td style="width:1%;"/>
        <td style="width:9.538%;"/>
        <td style="width:1%;"/>
        <td style="width:1.78%;"/>
        <td style="width:1%;"/>
        <td style="width:9.538%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized<br/>&#160;Costs</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Gains</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Losses</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash and cash equivalents:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and money market funds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2c8ad56c-d1d2-4781-89d8-3e706898d0b3" contextRef="C_96669801-ebb6-4ad9-a641-e8ae7e52f6d2" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">751,323</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_766675bd-0612-425d-a9f5-e56e8551fe5c" contextRef="C_96669801-ebb6-4ad9-a641-e8ae7e52f6d2" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">751,323</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash and cash equivalents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9ad12b23-6b1b-4f30-89c8-7bf2c7a7d631" contextRef="C_546f5e82-5209-4941-bc7b-b127f9248472" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">751,323</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3d05569d-befd-4767-b56d-18508576a49a" contextRef="C_546f5e82-5209-4941-bc7b-b127f9248472" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">751,323</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized <br/>Cost</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Gains</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Losses</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash and cash equivalents:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and money market funds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_03a07934-b68d-4f77-a5f9-e422c19538a8" contextRef="C_7d54aed8-1af4-4b01-ac5a-6386ffe65437" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">523,458</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f9792b92-4eec-4864-8660-cfcbe051ee1a" contextRef="C_7d54aed8-1af4-4b01-ac5a-6386ffe65437" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">523,458</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash and cash equivalents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ede202b5-070e-4ced-853a-d82a41aad9c9" contextRef="C_3c49da65-3675-437a-9c07-ffc203307dd8" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">523,458</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f5783555-552f-475d-aba1-fc04151ef3d9" contextRef="C_3c49da65-3675-437a-9c07-ffc203307dd8" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">523,458</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Marketable securities held to maturity:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">U.S. treasury bills - short-term</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3b53c270-d6a0-484c-9b23-ef9a71105add" contextRef="C_c6b33d55-7c41-4879-8628-e1b72882aad1" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,299</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f8383a17-3ea0-4d7d-bc73-fad40af807f5" contextRef="C_c6b33d55-7c41-4879-8628-e1b72882aad1" name="rgen:DebtSecuritiesHeldToMaturityGrossUnrealizedGain" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_391219f8-9347-449f-821b-c17b8461abf7" contextRef="C_c6b33d55-7c41-4879-8628-e1b72882aad1" name="rgen:DebtSecuritiesHeldToMaturityEstimatedFairValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,323</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash, cash equivalents and marketable securities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0a697948-de8c-4d20-87f7-08764b2a854f" contextRef="C_04f39a08-efdd-4895-a725-28d1badee02f" name="rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">623,757</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6a07c799-0ddd-416d-874d-4deda70c3b8f" contextRef="C_04f39a08-efdd-4895-a725-28d1badee02f" name="rgen:DebtSecuritiesHeldToMaturityGrossUnrealizedGain" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d785803b-0654-4050-be8e-f626d9dcc05c" contextRef="C_04f39a08-efdd-4895-a725-28d1badee02f" name="rgen:AvailableForSaleSecuritiesEstimatedFairValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">623,781</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2022, the Company purchased $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f90c33dc-8ba8-450d-a568-4addf60fd958" contextRef="C_26b1e372-ec7e-489c-8354-3fe6947aa5ce" name="us-gaap:TreasuryStockValueAcquiredCostMethod" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">100.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of 6-month U.S. treasury bills with </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the positive intent and ability to hold them until maturity. Therefore, the Company classified this investment as held to maturity and stated it at amortized cost on the consolidated balance sheets. There is no comparable investment as of December 31, 2023.</span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_9d1d38df-bb5c-4c64-a059-071c14278995" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The amortized cost and fair value of the Company's held to maturity securities by contractual maturity at December 31, 2022 are summarized below. There were no comparable investments as of December 31, 2023:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:56.949%;"/>
        <td style="width:2.699%;"/>
        <td style="width:1%;"/>
        <td style="width:15.477%;"/>
        <td style="width:1%;"/>
        <td style="width:2.699%;"/>
        <td style="width:1%;"/>
        <td style="width:15.477%;"/>
        <td style="width:1%;"/>
        <td style="width:2.699%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized<br/>&#160;Costs</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Maturity of one year or less</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_430fb3b4-e0d4-4632-9d6e-00ee05382a3d" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="rgen:DebtSecuritiesMaturityWithinOneYearAmortizedCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,299</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b55958e1-ff74-4cbc-8d70-b853540ca559" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,323</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;">
        <td style="background-color:#cff0fc;text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b24fa95a-ba34-4ea0-9a0a-f2f96cd806b3" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="rgen:DebtSecuritiesMaturityWithinOneYearAmortizedCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,299</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bbba770c-7f93-4a97-a22a-4c1568172fae" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,323</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">87</span></p></div>
       <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measured on a Recurring Basis</span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_4ae01300-373d-4051-b03c-bc98f504b4dd" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Financial assets and financial liabilities measured at fair value on a recurring basis consist of the following as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:47.819%;"/>
        <td style="width:1.24%;"/>
        <td style="width:1%;"/>
        <td style="width:9.804%;"/>
        <td style="width:1%;"/>
        <td style="width:1.24%;"/>
        <td style="width:1%;"/>
        <td style="width:9.804%;"/>
        <td style="width:1%;"/>
        <td style="width:1.24%;"/>
        <td style="width:1%;"/>
        <td style="width:9.804%;"/>
        <td style="width:1%;"/>
        <td style="width:1.24%;"/>
        <td style="width:1%;"/>
        <td style="width:9.804%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 1</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 2</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 3</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Assets:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Money market accounts</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_10522b5e-75fa-4ba0-b2d9-3795c2464a01" contextRef="C_2e432de0-16fc-4fd7-ae86-741fd451fa1d" name="us-gaap:AssetsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">658,574</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a087a5bb-846e-472c-87d0-41f8b5181a39" contextRef="C_2409797a-4999-4eb6-b741-0e80430b862d" name="us-gaap:AssetsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">658,574</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Liabilities:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Short-term contingent consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ee19e041-c778-4253-bba8-afd93e102d20" contextRef="C_887930fe-3dd9-43cf-83da-f4b638e9203f" name="rgen:ShortTermContingentConsideration" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,983</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6c5b953f-cc90-4d52-a764-6477f18be373" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="rgen:ShortTermContingentConsideration" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,983</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-term contingent consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_456a3829-9e09-4c21-9c5b-9838d352b515" contextRef="C_887930fe-3dd9-43cf-83da-f4b638e9203f" name="rgen:LongTermContingentConsideration" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,070</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f438c1e8-7cab-4f40-9f76-ef066dd0e598" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="rgen:LongTermContingentConsideration" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,070</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 1</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 2</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 3</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Assets:</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Money market accounts</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7748b7d8-ab15-471e-8378-22775fb69ba4" contextRef="C_b8460d23-6fcb-4f66-aa4c-efa7a3ee889e" name="us-gaap:AssetsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">343,929</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2dcc33c6-9d02-4150-a19f-81622771c8ad" contextRef="C_4204e5f8-1d80-453b-8e14-de8b7089fedb" name="us-gaap:AssetsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">343,929</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Liabilities:</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Short-term contingent consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4a9eae7a-9fd6-4a15-9e5d-c8b0c0c452dd" contextRef="C_f3e4551d-16c5-41d1-aca4-7a41e0034ab6" name="rgen:ShortTermContingentConsideration" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,950</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_51e45476-da82-4ce1-8d55-8b30fa1a30e2" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="rgen:ShortTermContingentConsideration" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,950</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-term contingent consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_de26659a-5569-4e84-8c91-96e62b39ba3c" contextRef="C_f3e4551d-16c5-41d1-aca4-7a41e0034ab6" name="rgen:LongTermContingentConsideration" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">51,559</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7b91c0a9-2b5a-43fe-865f-f60f6a02244d" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="rgen:LongTermContingentConsideration" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">51,559</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Contingent Consideration &#8211; Earnout</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023, the maximum amount of future contingent consideration (undiscounted) that the Company could be required to pay in connection with each of the completed acquisitions is; $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_285a79ca-64c0-4c8a-a7df-e20511ddb0a6" contextRef="C_2d320bf6-77ac-4821-8714-9c004fb3f74e" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">125.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million over a three-year earnout period for Avitide, which was acquired in September 2021 and for which the earnout periods run from January 1, 2022 through December 31, 2024; $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5253201c-12f3-46e0-8509-3834cd97cf36" contextRef="C_ca77aac6-1dd3-4cdc-9e35-19da5b52b9c0" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">42.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million over a two-year earnout period for FlexBiosys, which was acquired in April 2023 and for which the earnout periods run from January 1, 2023 through December 31, 2024; and approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e17f2c28-a986-4a94-aca4-0d7bb9695aaa" contextRef="C_4016e51f-a392-49c5-9c26-e9ddedab261e" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" unitRef="U_USD" scale="6" decimals="-6" format="ixt:num-dot-decimal">10</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million over a one-year earnout period for Metenova, which was acquired in October 2023 and for which the earnout period runs from January 1, 2024 through December 31, 2024. See Note 4, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquisitions&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to this report for more information on the contingent consideration earnouts.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2023, expected results and change in market inputs used to calculate the discount rate, resulted in a decrease in amounts reported as of December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. </span><span style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a9492f38-b5ad-4fda-8263-195f1d50b280" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" escape="true" continuedAt="F_a9492f38-b5ad-4fda-8263-195f1d50b280_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A reconciliation of the change in fair value of contingent consideration &#8211; earnout is included in the following table (amounts in thousands):</span></ix:nonNumeric></span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_a9492f38-b5ad-4fda-8263-195f1d50b280_1"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:78.56%;"/>
        <td style="width:2.1%;"/>
        <td style="width:1%;"/>
        <td style="width:17.34%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2022</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0105d289-b1bb-4ee7-add4-ca7b98e18715" contextRef="C_24412dc4-9725-40db-a5fd-31d323a358ad" name="us-gaap:LiabilitiesFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">65,509</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition date fair value of contingent consideration earnouts</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a7fbe41f-423f-4f12-ba28-da9b3dba534a" contextRef="C_a79fa7ee-93f3-42d7-bd7e-a948de915877" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,640</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of contingent consideration earnouts</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0ef59078-3dfa-477d-9bc3-eb87a6711ecb" contextRef="C_a79fa7ee-93f3-42d7-bd7e-a948de915877" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">14,527</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Decrease in fair value of contingent consideration earnouts</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e8855064-662c-466a-94d9-453f48ca82ac" contextRef="C_a79fa7ee-93f3-42d7-bd7e-a948de915877" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30,569</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8d053fe7-3865-4af7-bb0d-2debc1a3cbf4" contextRef="C_d406539c-409d-4fb8-8a6c-ef865014fb4e" name="us-gaap:LiabilitiesFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,053</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">88</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_631a22be-d90e-4b45-81d6-6b4efe1f3bb7" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The recurring Level 3 fair value measurement of our contingent consideration &#8211; earnout that we expect to be required to settle our 2023, 2024 and 2025 contingent consideration obligation for Avitide, FlexBiosys and Metenova include the following significant unobservable inputs (amounts in thousands, except percent data):</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:18.524%;"/>
        <td style="width:1.74%;"/>
        <td style="width:1.08%;"/>
        <td style="width:1%;"/>
        <td style="width:13.903%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:15.163%;"/>
        <td style="width:1.62%;"/>
        <td style="width:16.383%;"/>
        <td style="width:1.74%;"/>
        <td style="width:11.942%;"/>
        <td style="width:1.62%;"/>
        <td style="width:13.283%;"/>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Contingent Consideration Earnout</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="3" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value as of<br/>&#160;December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Valuation Technique</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Unobservable Input</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Range</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted Average</span><span style="color:#000000;top:-4.221pt;white-space:pre-wrap;font-weight:bold;font-size:6.03pt;position:relative;min-width:fit-content;">(1)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability of</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Success</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9793d310-c7ab-472b-a5a5-de2227c349e0" contextRef="C_23e1f1ef-1bb7-4045-8d2b-8d2285005e29" name="rgen:ProbabilityOfSuccess" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c7eb62cc-8eef-40c9-87e4-4b07dcd143dd" contextRef="C_760d4e33-c9bb-413f-89b2-29e4e3d8ab51" name="rgen:WeightedAverageDiscountRate" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Commercialization-based payments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b709d532-94a4-43c9-ba7f-a0454c911ab5" contextRef="C_23e1f1ef-1bb7-4045-8d2b-8d2285005e29" name="us-gaap:LiabilitiesFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,094</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Monte Carlo<br/>Simulation</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_29792139-7cc5-4722-a0d3-0c1de8318ab1" contextRef="C_24bf06e8-e89a-4731-b3b7-c6fb596229f3" name="us-gaap:DerivativeFixedInterestRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">5.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_66764b5c-3625-4719-aa38-082f787dcacc" contextRef="C_9ca68910-1653-4e2f-bfcb-c7b84370abec" name="us-gaap:DerivativeFixedInterestRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">5.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6cb640a5-9802-4420-9a89-8eb136be720d" contextRef="C_f69fe89a-f0fe-4055-88ed-d1817a15cd4d" name="rgen:WeightedAverageDiscountRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">5.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Volatility</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f4343c72-84b5-4efc-b117-a84db7c4687a" contextRef="C_accb995c-4abf-4ea5-b6c5-3a74a0b46bd8" name="rgen:VolatilityRateOfContingentConsideration" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">12.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_37c30e3e-0025-453f-9036-b6ac7fd3cf99" contextRef="C_d997f6f8-f5ec-4f58-9e56-a279b563d488" name="rgen:VolatilityRateOfContingentConsideration" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">24.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9480f985-4619-4b5e-9a6a-b139d8a302d0" contextRef="C_a7520188-6414-4a66-b746-38db7ebbf7c9" name="rgen:WeightedAverageDiscountRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">21.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue and Volume-<br/>based payments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8f3a08da-50f7-4a17-af5e-618fcf631f11" contextRef="C_7acfea58-fa85-414a-9bf0-d1e1d97ee21e" name="us-gaap:LiabilitiesFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,454</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Monte Carlo<br/>Simulation</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue &amp; Volume<br/>Discount Rate</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0e155635-f015-4b18-87a8-1d8ff59770a4" contextRef="C_accb995c-4abf-4ea5-b6c5-3a74a0b46bd8" name="rgen:RevenueAndVolumeDiscountRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">2.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a5dc8393-a666-4d7a-b4d1-4dab9ced7b60" contextRef="C_d997f6f8-f5ec-4f58-9e56-a279b563d488" name="rgen:RevenueAndVolumeDiscountRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">9.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4471f9a5-c655-414c-8fb1-95f24e752b49" contextRef="C_3ce301fc-07a6-4b1c-b754-765be5af519f" name="rgen:WeightedAverageDiscountRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">8.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a641ba1b-2dfd-487d-90d2-9a664e0a86bd" contextRef="C_accb995c-4abf-4ea5-b6c5-3a74a0b46bd8" name="us-gaap:DerivativeFixedInterestRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">5.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_501301e6-4d5f-4f6e-a35d-30dcaa2efcd8" contextRef="C_d997f6f8-f5ec-4f58-9e56-a279b563d488" name="us-gaap:DerivativeFixedInterestRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">7.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0771b9ca-4958-42b5-8f4b-754db30bae64" contextRef="C_89c78e12-5096-4c82-b17c-42e7b33aab48" name="rgen:WeightedAverageDiscountRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">6.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability of<br/>&#160;Success</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_55312399-c4bc-490d-a0c5-bafacc30785a" contextRef="C_79ec1b94-5e13-4664-8016-cda4361247f8" name="rgen:ProbabilityOfSuccess" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b231767e-964e-44c8-882c-1bc03546f44c" contextRef="C_0ec1caa0-22b9-49be-99f0-24df7920b8e9" name="rgen:WeightedAverageDiscountRate" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Manufacturing line expansions</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d2f7e64-3be5-4a05-8bde-6aa8629224d3" contextRef="C_5b88ea0f-d65a-4455-a649-a2887184dd05" name="us-gaap:LiabilitiesFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,505</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability-weighted present value</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4a679fb1-562c-41f9-8121-07b22c409cb7" contextRef="C_afb3bee6-fa66-4b54-b62b-ce77f31cf5ea" name="us-gaap:DerivativeFixedInterestRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">6.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_46475d73-ed4e-43be-a132-56220055b96d" contextRef="C_29bee85e-e36e-422a-8cc3-a9f25ff28950" name="us-gaap:DerivativeFixedInterestRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">6.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b18771ea-f0e3-413a-81ff-6dad36e25bb9" contextRef="C_4a24b082-a1cd-44bc-9c96-552f2c2d6f9d" name="rgen:WeightedAverageDiscountRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">6.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><ix:footnote id="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2" xml:lang="en-US"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">Unobservable inputs were weighted by the relative fair value of the contingent consideration liability.</span></ix:footnote></div></div></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company estimates the fair value of the contingent consideration earnouts using a Monte Carlo simulation. Changes in the projected performance of the acquired business could result in a higher or lower contingent consideration obligation in the future.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measured on a Nonrecurring Basis</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2023, there were no re-measurements to fair value of financial assets and liabilities that are measured at fair value on a nonrecurring basis.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2019, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f0c23eac-be86-44e7-a03c-8a9ddebad4a5" contextRef="C_cc029464-b385-49cb-9e56-b4628acc7d0a" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">287.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2019 Notes. Interest is payable </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_19f3f042-2c50-4d2c-867a-307d3c25bc6f" contextRef="C_717689d5-5087-4a04-aa3f-9f307cf22e1c" name="us-gaap:DebtInstrumentFrequencyOfPeriodicPayment"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">semi-annually</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> in arrears on January 15 and July 15 of each year. The 2019 Notes will mature on July 15, 2024, unless earlier converted or repurchased in accordance with their terms. At </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022, subsequent to the adoption of ASU 2020-06, the carrying value of the 2019 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2afa122d-406b-413b-8b0a-8739c2bc863f" contextRef="C_e29aed53-4e06-4a54-bd1b-2402a8ee2f2f" name="us-gaap:LongTermDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">69.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_97f52a0d-8758-4911-9aaa-4ec84de178d1" contextRef="C_0dd2b2f7-9e3b-43b9-ba52-85030fbe87ef" name="us-gaap:LongTermDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">284.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively, net of unamortized debt issuance costs and the fair value of the 2019 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0b3f7d75-4b7d-451d-b3d9-0af802415c85" contextRef="C_e29aed53-4e06-4a54-bd1b-2402a8ee2f2f" name="us-gaap:LongTermDebtFairValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">109.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_be48ff26-f2ac-40c4-97fc-8fea4e75fca0" contextRef="C_0dd2b2f7-9e3b-43b9-ba52-85030fbe87ef" name="us-gaap:LongTermDebtFairValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">452.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively. The fair value of the 2019 Notes is a Level 1 valuation and was determined based on the most recent trade activity of the 2019 Notes as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022. The 2019 Notes are discussed in more detail in Note 14, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to these consolidated financial statements.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On December 14, 2023, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6f6fd829-5957-4435-88b5-1071f35419d1" contextRef="C_7403ed90-12d4-4aa6-b6cb-10512083f740" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">600.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2023 Notes in a private placement pursuant to separate, privately negotiated exchange and subscription agreements (the &#8220;Exchange and Subscription Agreements&#8221;) with a limited number of holders of its outstanding 2019 Notes and certain other qualified institutional buyers pursuant to Rule 144A under the Securities Act of 1933, as amended (&#8220;Securities Act&#8221;). Pursuant to the Exchange and Subscription Agreements, the Company exchanged $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d2444d47-09e4-4e9d-9f9c-d6649f3fb7b5" contextRef="C_753a94c8-7ff4-491a-9a71-4555722dc47e" name="rgen:DebtInstrumentExchangeAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">217.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of its 2019 Notes for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e93874fc-1eb4-4fbe-bed0-3dfde9cd8152" contextRef="C_8dd45a8e-8254-41a2-86cd-99c2f5569099" name="rgen:DebtInstrumentExchangedAmountCancelled" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">309.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2023 Notes (the &#8220;Exchange Transaction&#8221;) and issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c9c7d9ed-a765-4ad5-a604-b3c74d425cab" contextRef="C_2e331be7-03c9-42af-8c9d-11ce133231f2" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">290.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2023 Notes (the &#8220;Subscription Transactions&#8221;) for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cf1f1580-52fe-4a2a-b16e-bc6a1186c568" contextRef="C_c208151c-fd40-4b9b-a486-b7d76d6e1366" name="rgen:DebtInstrumentIssuedForCash" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">290.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash. At December 31, 2023, the carrying value of the 2023 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8e9f127-31ad-4cfe-bd02-f199c091ecef" contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea" name="us-gaap:LongTermDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">510.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, net of unamortized debt issuance costs, and the fair value of the 2023 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cf186290-9d3b-4e9a-98cf-56d350463b37" contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea" name="us-gaap:LongTermDebtFairValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">596.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The fair value of the 2023 Notes is a Level 1 valuation and was determined based on the most recent trade activity of the 2023 Notes as of December 31, 2023. The 2023 Notes are discussed in more detail in Note 14, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to these consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">89</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_2f8072e1-156c-416f-b7bf-e96619a1e37c" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:BusinessCombinationDisclosureTextBlock" escape="true"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">4.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Acquisitions</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">2023 Acquisitions</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Metenova Holding AB</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On October 2, 2023, the Company's subsidiary, Repligen Sweden AB acquired Metenova from the former shareholders of Metenova (the &#8220;Metenova Seller&#8221;) pursuant to a Share Sale and Purchase Agreement (the &#8220;Share Purchase Agreement&#8221;), dated as of September 23, 2023 (such acquisition, the &#8220;Metenova Acquisition&#8221;), by and among Repligen Sweden AB, the Metenova Seller, and the Company, in its capacity as guarantor of the obligations of Repligen Sweden AB under the Share Purchase Agreement.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Metenova, which is headquartered in Molndal, Sweden, offers magnetic mixing and drive train technologies that are widely used by global biopharmaceutical companies and contract development and manufacturing organizations. The Metenova Acquisition further strengthens our fluid management portfolio with these products.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration Transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company accounted for the Metenova Acquisition as a purchase of business under ASC 805, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company engaged a third-party valuation firm to assist with the valuation of Metenova. Under the Share Purchase Agreement, all outstanding equity interests of Metenova were acquired for consideration with a value totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d60ae48-7e55-4c0b-a871-5303ba538680" contextRef="C_5448846c-c54a-4763-93d4-042463ced1c8" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">172.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The Metenova Acquisition was funded through payment of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4bcf2d43-16be-432a-83c5-10ee01f293af" contextRef="C_5448846c-c54a-4763-93d4-042463ced1c8" name="us-gaap:PaymentsToAcquireBusinessesGross" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">164.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash, the issuance of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_38d2132d-f0c8-4fc5-be63-310ab32e4132" contextRef="C_5448846c-c54a-4763-93d4-042463ced1c8" name="us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">52,299</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> unregistered shares of the Company's common stock totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5c8bff1e-0bf6-41e2-a120-c6a4ec48468e" contextRef="C_12185a3c-5d63-40de-9abd-7778ed8450bd" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">8.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and contingent consideration with an immaterial fair value.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of Metenova were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net liabilities acquired is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_acd0d399-d64e-4e76-a54c-c98a1acc70ce" contextRef="C_1e39a1e5-6510-4776-a74e-97861c37cf9b" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, the fair value of the intangible assets acquired is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cb6e4d8f-fbc2-475b-a960-570103592437" contextRef="C_1e39a1e5-6510-4776-a74e-97861c37cf9b" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">58.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and the residual goodwill is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e017aacb-b522-4cb6-b5af-5c4c2d3ff707" contextRef="C_1e39a1e5-6510-4776-a74e-97861c37cf9b" name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">115.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The estimated consideration and preliminary purchase price information has been prepared using a preliminary valuation. 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 has incurred $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_137b1647-6b4a-4947-b176-20799eacfa75" contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b" name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs associated with the Metenova Acquisition from the date of acquisition to December 31, 2023. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income in 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date. As of December 31, 2023, the purchase accounting for this acquisition had not been finalized. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period. Besides tax implications of the purchase price allocation, the final allocation may result in changes to other assets and liabilities.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">90</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude>
    <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
     <tr style="visibility:collapse;">
      <td style="width:80.236%;"/>
      <td style="width:1.94%;"/>
      <td style="width:1%;"/>
      <td style="width:15.823%;"/>
      <td style="width:1%;"/>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cff8c63c-7aa6-4dff-b2e9-c170e88d7ac4" contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,768</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b5f941a0-84df-46ea-ac83-d01fe7341e38" contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,730</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3ce0028f-b5aa-456f-9cbc-31a86c453653" contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,421</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_444a6f58-81a2-4f59-8b92-b1714b47b807" contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">470</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4b9b357f-6c25-42a2-880e-7275c34f6eb2" contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">433</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d395d6d0-db94-4cd2-9786-c4c9167a1955" contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">615</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fdc7b461-11a3-4373-b5b1-0943a794c2d6" contextRef="C_18f978c9-ddec-486d-945d-0074a86a8918" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,659</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1df3458b-1d1d-4bca-ab73-226591288498" contextRef="C_4d27362e-a895-4bcf-83da-26cc46043cc9" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">44,377</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5e764d25-7064-4c2d-9f08-a4c5df7b906b" contextRef="C_499b340b-2365-4913-9ac4-727e687d9b0f" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">939</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_76f7d2e7-5eff-49f1-9eba-978cd0577ca8" contextRef="C_e82068f2-f43b-48ab-b2a3-63e250500d98" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">787</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3db455da-eea9-43b9-be0a-e33de73d0736" contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115,778</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9ba7e3b9-f082-4a82-a7ee-334cdb9c9ea7" contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,432</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_672177f2-75c4-464f-a22e-82e2258122de" contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,934</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f9c5370e-5337-47a2-8460-31bba93b811a" contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">275</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liability, long-term</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_096998ea-72c5-4621-b3d2-55f7f04a1296" contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">12,481</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fdf47b4a-1b33-4c27-89d6-70e6cd8ee0e9" contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">255</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_59780be2-1670-4f73-8e9e-e1aba25fc000" contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">172,600</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
     </tr>
    </table><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_815945e0-5fff-47df-90e3-3f5505fbfb1d" contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b" name="us-gaap:Goodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">115.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of Metenova into the Company. These synergies include operating efficiencies and strategic benefits projected to be achieved as a result of the Metenova Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the Metenova Acquisition and their estimated useful lives:</span></p>
    <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
     <tr style="visibility:collapse;">
      <td style="width:53.871%;"/>
      <td style="width:1.82%;"/>
      <td style="width:19.884%;"/>
      <td style="width:1.82%;"/>
      <td style="width:1%;"/>
      <td style="width:20.604%;"/>
      <td style="width:1%;"/>
     </tr>
     <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
      <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
      <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_36c6ed1e-0d55-4684-9367-5b1eae4a81df" contextRef="C_fadab7cb-bdf3-48c0-8aae-4d92613236b3" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></ix:nonNumeric></span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_274c06c8-1bef-4608-906e-f91a555df56a" contextRef="C_18f978c9-ddec-486d-945d-0074a86a8918" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,659</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_c95a6618-45a9-4955-a037-8702d3c667c9" contextRef="C_c07ad21f-7a91-41a1-bd55-6c55dcbd0eef" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></ix:nonNumeric></span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_98af3194-377c-4599-86df-c6673f19b397" contextRef="C_4d27362e-a895-4bcf-83da-26cc46043cc9" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">44,377</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_cb220e03-feaf-4975-86ce-d18cd626dc01" contextRef="C_f44ebb5b-d0bb-4871-87af-ca9f24e74007" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></ix:nonNumeric></span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9e297416-c233-4c2d-86de-641b8f9c8074" contextRef="C_652b42cb-2d66-41fe-9327-e2a4645e1d06" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">939</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_5f96a421-925b-413d-a068-beb0681cc152" contextRef="C_d992a0c4-bfe1-4d23-a414-8bcbdc4fb52b" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2 years</span></ix:nonNumeric></span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d04d48d5-df1a-437f-87ca-e9ca3649f27b" contextRef="C_e82068f2-f43b-48ab-b2a3-63e250500d98" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">787</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_14ad541c-1c8c-4bda-a0ff-5dd6b4fe0e67" contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">58,762</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
    </table><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">FlexBiosys, Inc.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_970f7e20-7cf8-4e1b-a8a3-d5f4c8e859d9" contextRef="C_ec338d46-7f43-4052-a518-5dd62b72f6cb" name="us-gaap:BusinessAcquisitionEffectiveDateOfAcquisition1" format="ixt:date-monthname-day-year-en"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">April 17, 2023</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company completed its acquisition of all of the outstanding equity interests in FlexBiosys, pursuant to an Equity Purchase Agreement with FlexBiosys, TSAP Holdings Inc. (&#8220;NJ Seller&#8221;), Gayle Tarry and Stanley Tarry, as individuals (collectively with NJ Seller, the &#8220;FlexBiosys Sellers&#8221;), and Stanley Tarry, in his capacity as the representative of the FlexBiosys Sellers (the &#8220;FlexBiosys Acquisition&#8221;).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FlexBiosys, which is headquartered in Branchburg, New Jersey, offers expert design and custom manufacturing of single-use bioprocessing products and a comprehensive range of products that include bioprocessing bags, bottles, and tubing assemblies. These products will complement and expand our fluid management portfolio of offerings.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The FlexBiosys Acquisition was accounted for as a purchase of a business under ASC 805, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company engaged a third-party valuation firm to assist with the valuation of FlexBiosys. Under the terms of the EPA, all outstanding equity interests of FlexBiosys were acquired for consideration with a value totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_02f6a02a-908a-4f94-bc2d-318a6b1f0a6d" contextRef="C_ec338d46-7f43-4052-a518-5dd62b72f6cb" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">41.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The FlexBiosys Acquisition was funded through payment of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e3de1f42-a47b-4502-855e-e0e6019ac213" contextRef="C_ec338d46-7f43-4052-a518-5dd62b72f6cb" name="us-gaap:PaymentsToAcquireBusinessesGross" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">29.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash, which includes $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ef1d5334-6e3b-476b-86fc-f1b787ac5037" contextRef="C_e22adbe5-96a3-4c4b-9e62-7ff5e4632e82" name="us-gaap:BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">6.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million deposited in escrow for future payments, the issuance of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3075c747-3a0c-4259-84e4-00ed4fc73545" contextRef="C_ec338d46-7f43-4052-a518-5dd62b72f6cb" name="us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">31,415</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> unregistered shares of the Company's common stock totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c627b1d9-7024-4d36-9625-879e2c62a7d7" contextRef="C_4dd94668-6be8-450d-b851-a67c4cecd7a7" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">5.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and contingent consideration with fair value of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_67369742-68a1-432d-a0c7-202410e1d873" contextRef="C_ec338d46-7f43-4052-a518-5dd62b72f6cb" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">6.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">91</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of FlexBiosys were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8602d0c4-4d12-41de-bb8d-8805c9053957" contextRef="C_e22adbe5-96a3-4c4b-9e62-7ff5e4632e82" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">14.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, the fair value of the intangible assets acquired is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7198b6fa-a71b-4ad0-8291-48b6f47c30d4" contextRef="C_e22adbe5-96a3-4c4b-9e62-7ff5e4632e82" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">12.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and the residual goodwill is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3763ee78-a415-43da-952e-41c553ae5e8c" contextRef="C_e22adbe5-96a3-4c4b-9e62-7ff5e4632e82" name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">14.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The estimated consideration and preliminary purchase price information has been prepared using a preliminary valuation. 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 has incurred $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f8d4f396-ed7f-4ab3-a893-3beb9c8de5fd" contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530" name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs associated with the FlexBiosys Acquisition from the date of acquisition to December 31, 2023 with $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_65f94f79-9bc1-44d1-ba7e-85ec144c685e" contextRef="C_7f10a22c-c0ff-4a49-9c2a-da2cb0211766" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the transaction and integration costs incurred during the three months ended December 31, 2023. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income in 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date. As of December 31, 2023, the purchase accounting for this acquisition had not been finalized. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period, which ends on April 17, 2024. The final allocation may result in changes to other assets and liabilities.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p>
    <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
     <tr style="visibility:collapse;">
      <td style="width:80.236%;"/>
      <td style="width:1.94%;"/>
      <td style="width:1%;"/>
      <td style="width:15.823%;"/>
      <td style="width:1%;"/>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_91cbcbae-3741-4683-887b-da55fc91da9c" contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,090</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d399e3d7-8c40-4f99-b41c-16b79d8e684f" contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">683</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_985306f5-906a-4e74-bcac-924d3aed662b" contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">667</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b8fedff2-f3db-4c01-8a18-46101229bb8b" contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3a6d16b4-8c56-4013-9859-bd2f9cf74ea6" contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,034</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_74885356-f649-48d6-aff0-bdf1ceec1428" contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,537</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2efe6873-4396-490b-8c35-d5d81b85013e" contextRef="C_18370ce1-bdc3-40c6-b882-2e1f2cee9520" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,530</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ae84100c-c04d-48a2-bc1e-6958de54ae41" contextRef="C_133fdac5-2a09-4dd2-bf15-45a90d016c48" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,860</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_98793f3a-63e6-49f2-a2ce-23b5c0c076ae" contextRef="C_291cb55b-5c7d-439f-8a16-3e77d97a2c7e" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ae42197d-8b67-4907-994c-974a52a260c8" contextRef="C_4a4d4bcf-dc88-4a65-8d52-52776bd62409" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">220</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9a930a9e-f01b-4081-8229-88353c5114b6" contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,321</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other long-term assets</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f8c71e64-34d6-4e55-99b1-bba137610a44" contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c3f0abc4-aea0-441a-87a5-1446c62cf550" contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">136</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_08c55a69-c9c5-4ad2-878b-e59bd3a33d58" contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">314</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7c9103dd-abdd-44a0-8646-8c913dba73e9" contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">39</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3632ecf9-37d7-4d89-b72f-abf4288dec2c" contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,498</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f3d00b5f-9797-476a-a4b7-42526de97365" contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,030</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
     </tr>
    </table><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2023, the Company recorded an immaterial net working capital adjustment related to the FlexBiosys Acquisition, which is included in goodwill in the table above.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3d0f2cc3-76fc-489e-81f4-4546118eba48" contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530" name="us-gaap:Goodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">14.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of FlexBiosys into the Company. These synergies include operating efficiencies and strategic benefits projected to be achieved as a result of the FlexBiosys Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the FlexBiosys Acquisition and their estimated useful lives:</span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">92</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude>
    <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
     <tr style="visibility:collapse;">
      <td style="width:53.871%;"/>
      <td style="width:1.82%;"/>
      <td style="width:19.884%;"/>
      <td style="width:1.82%;"/>
      <td style="width:1%;"/>
      <td style="width:20.604%;"/>
      <td style="width:1%;"/>
     </tr>
     <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
      <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
      <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_a614bf13-cadf-4a76-b65a-9c3b19f50696" contextRef="C_87f0d3f5-5044-424a-a609-3ca174b1bfce" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12 years</span></ix:nonNumeric></span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c5b11c7b-76ba-4974-aa6c-7c2eb64ce625" contextRef="C_18370ce1-bdc3-40c6-b882-2e1f2cee9520" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,530</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_62633b4e-2077-41ad-a3d5-10562906fd05" contextRef="C_479de3ae-4feb-457f-a793-23b9bdffbe18" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16 years</span></ix:nonNumeric></span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_00ffd815-48fd-4204-8ca6-b26cb5fde181" contextRef="C_133fdac5-2a09-4dd2-bf15-45a90d016c48" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,860</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_1bbafd5d-e1a9-48ec-98d7-ef48172b3cec" contextRef="C_56a3f80b-d903-4f51-b0b9-abc2078d1a8d" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4 years</span></ix:nonNumeric></span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9673bd36-0a54-4c33-b384-086084c20aad" contextRef="C_15814d3a-48f5-4078-9612-a6b6930af965" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_30ca1957-171f-45a1-9c7e-289eba9b3304" contextRef="C_a767d9a8-2ae9-4df1-8795-b40611e450db" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5 years</span></ix:nonNumeric></span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5bfcfc60-f0e2-4e37-be0a-4f092c772c03" contextRef="C_4a4d4bcf-dc88-4a65-8d52-52776bd62409" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">220</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8afab86e-9bfe-4775-bdea-7fdb6d524a78" contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,640</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
    </table><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">2021 Acquisitions</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">BioFlex Solutions LLC and Newton T&amp;M Corp.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On November 29, 2021, the Company entered into an Equity Purchase Agreement with BioFlex (&#8220;BioFlex EPA&#8221;), NTM and each of Ralph Meola and Jason Nisler, to acquire </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_76b00415-fa28-4448-91ec-afbd7bd75811" contextRef="C_5bb628d8-3f0c-4b65-b4d7-cb6d76ba077e" name="us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired" unitRef="U_pure" scale="-2" decimals="INF" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the outstanding securities of BioFlex and NTM (collectively, the &#8220;NTM Acquisition&#8221;). The transaction closed on December 16, 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">NTM, which is headquartered in Newton, New Jersey, is the parent company of BioFlex and focuses on manufacturing of products, while BioFlex, also headquartered in Newton, New Jersey, commercializes branded products to biotech customers. The NTM Acquisition complements and expands our filtration offering paths as the industry migrates to single-use flow paths solutions for monoclonal antibody (&#8220;mAb&#8221;), vaccine and cell and gene therapy (&#8220;C&amp;GT&#8221;) applications, with a focus on single-use fluid management components, including single-use clamps, adapters, end caps and hose assemblies. The NTM Acquisition streamlines and increases control over many components in our single-use supply chain which ultimately should drive reduced lead-times for Repligen customers in the coming years.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration Transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The NTM Acquisition was accounted for as a purchase of businesses under ASC 805, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Business Combinations&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Under the terms of the BioFlex EPA, all outstanding shares of capital stock of BioFlex were acquired for consideration with a value totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_136ab61d-ac94-49fb-b418-13c07d522bbe" contextRef="C_4e67a3f1-4977-4011-bde5-d94904a2fa18" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">31.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which includes $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b305541a-9afc-49cd-a53e-4ae4db43046d" contextRef="C_4e67a3f1-4977-4011-bde5-d94904a2fa18" name="rgen:BusinessCombinationConsiderationIndemnificationEscrow" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million deposited into an escrow against which the Company may make claims for indemnification.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of BioFlex were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_80e72433-9952-4138-938c-889c7b91a186" contextRef="C_5bb628d8-3f0c-4b65-b4d7-cb6d76ba077e" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">4.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, the fair value of the intangible assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ea4bcc1a-f635-4c08-88cb-1fc62a82c55d" contextRef="C_5bb628d8-3f0c-4b65-b4d7-cb6d76ba077e" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">17.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and the residual goodwill is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0aeb7fb2-fdfd-4a8a-abd6-07acfd34acee" contextRef="C_5bb628d8-3f0c-4b65-b4d7-cb6d76ba077e" name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">9.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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 </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ec9b02f4-9361-4bfa-b8fe-d65e684047cb" contextRef="C_62811340-9646-4e62-9963-1943cc281dfe" name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs associated with the NTM Acquisition from the date of acquisition to December 31, 2022, with $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8158a4d6-106a-4959-b152-d36bd9d29fe4" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs incurred in 2022 and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d8e1feb5-ccc5-40f5-853c-4aab9edc6305" contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af" name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million incurred in 2021. The transaction and integration costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 final valuation. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended December 16, 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">93</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_0309680a-9ead-4225-9799-99cc89dd44ce" contextRef="C_823e817c-1120-41c0-8f87-43cc3bca6990" name="us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"/>
        <td style="width:1.94%;"/>
        <td style="width:1%;"/>
        <td style="width:15.823%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_34c3b841-5ef2-4dc1-a8c9-6fb5abc0170b" contextRef="C_62811340-9646-4e62-9963-1943cc281dfe" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,870</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0fd5e126-ce0a-4f90-8125-8ab89e6b7d08" contextRef="C_62811340-9646-4e62-9963-1943cc281dfe" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,408</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ddec9458-baab-451e-9987-cce0dc1b77fb" contextRef="C_62811340-9646-4e62-9963-1943cc281dfe" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">741</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e3d8b4fa-253a-49a7-8ee7-30dc8352ddf4" contextRef="C_62811340-9646-4e62-9963-1943cc281dfe" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">126</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cca42338-06f2-46c0-99f7-2edb6ecbd905" contextRef="C_62811340-9646-4e62-9963-1943cc281dfe" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">34</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c78c152f-d781-44fb-b143-a3fc825d8d73" contextRef="C_62811340-9646-4e62-9963-1943cc281dfe" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,034</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5a7ac04a-2a56-4ca1-bf44-e13a1c41ed56" contextRef="C_f1dabb7b-507c-48bd-a26a-32591ee1c9d3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,240</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9df05c5f-8689-41fa-9b90-f045a92029f8" contextRef="C_c6250a31-9f43-4012-8d2c-98cfe33f724f" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,540</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6d8501ed-2e22-433f-a561-97730d32a0a8" contextRef="C_71e6aab3-4604-4735-b858-235e60fd5929" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">310</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5bf9d544-064a-4382-b4fb-c1cba8e0608e" contextRef="C_976715c7-5544-4187-9405-cd13f1b2793b" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">60</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9980ece2-8266-4c91-9e24-2049fe2e6b8c" contextRef="C_62811340-9646-4e62-9963-1943cc281dfe" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,834</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax asset</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_08c55bce-179a-450d-9047-06d8ad1be612" contextRef="C_62811340-9646-4e62-9963-1943cc281dfe" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">81</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f12a7127-458f-4cd2-b8bc-1315e871d02e" contextRef="C_62811340-9646-4e62-9963-1943cc281dfe" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">224</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ee447b2f-6f62-4f9c-95e2-6aae6cf90a6c" contextRef="C_62811340-9646-4e62-9963-1943cc281dfe" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">450</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0f9d772f-ca84-48ca-8ab4-c0b6eac6d046" contextRef="C_62811340-9646-4e62-9963-1943cc281dfe" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,030</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fc974e87-dc74-4a2c-b89d-d37357b8388a" contextRef="C_62811340-9646-4e62-9963-1943cc281dfe" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_45dd06fd-5da1-481a-9311-050ff88e82f2" contextRef="C_62811340-9646-4e62-9963-1943cc281dfe" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">31,571</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2022, the Company recorded net working capital adjustments of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6c2a617b-07df-4f17-a0ae-954879146352" contextRef="C_a2360a68-4dd0-4945-aacf-ea06efbd68e4" name="rgen:BusinessAcquisitionWorkingCapitalAdjustments" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million related to pre-acquisition liabilities, which are included in goodwill and accrued liabilities in the table above.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b3813489-689f-4509-b47f-c9d5a93d0a6e" contextRef="C_62811340-9646-4e62-9963-1943cc281dfe" name="us-gaap:Goodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">9.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of BioFlex and NTM into the Company. These synergies include certain operating efficiencies and strategic benefits projected to be achieved as a result of the NTM Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_455b7fbe-e099-4611-a856-55a5404b6979" contextRef="C_823e817c-1120-41c0-8f87-43cc3bca6990" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the NTM Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;"/>
        <td style="width:1.82%;"/>
        <td style="width:19.884%;"/>
        <td style="width:1.82%;"/>
        <td style="width:1%;"/>
        <td style="width:20.604%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_07c6beef-310f-4940-91de-31c93c38b3be" contextRef="C_fcaf8185-006b-4d16-9003-5b9a1ce147bb" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10 years</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6b46a7a5-4909-4fd7-9b40-e5e8da5654e0" contextRef="C_f1dabb7b-507c-48bd-a26a-32591ee1c9d3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,240</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_78db3d0e-17e3-408a-8cc5-07693d138fee" contextRef="C_714b669d-7f21-41a9-bcf3-63d0d5c97003" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11 years</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_855f6d0c-1a9b-4f6c-871b-fa690b2e32ec" contextRef="C_c6250a31-9f43-4012-8d2c-98cfe33f724f" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,540</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_5732817a-9b16-49e5-870e-c03881c3f90d" contextRef="C_835d039c-6216-472b-b309-981960503438" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_777129e9-b624-480a-abfb-60cb1f6fd2b8" contextRef="C_4abc906f-1ca4-41fe-958f-d1895f576d7e" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">310</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_629128f8-5d5f-402a-b53e-410a49b52f4b" contextRef="C_5a22be32-db3c-42fd-ab9d-6ee722fc8e3e" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3 years</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_afcadcb8-236e-43c5-8bd5-4a01e3be901f" contextRef="C_976715c7-5544-4187-9405-cd13f1b2793b" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">60</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cc7dc403-059e-41c3-b87b-2f3d6c929c31" contextRef="C_62811340-9646-4e62-9963-1943cc281dfe" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,150</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Avitide, Inc.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On September 16, 2021, the Company entered into an Agreement and Plan of Merger and Reorganization (&#8220;Avitide Merger Agreement&#8221;) with Avalon Merger Sub, Inc., a Delaware corporation and a wholly owned direct subsidiary of the Company, Avalon Merger Sub LLC, a Delaware limited liability company and a wholly owned direct subsidiary of the Company, Avitide, a Delaware corporation, and Shareholder Representative Services LLC, a Colorado limited liability company, solely in its capacity as the representative, agent and attorney-in-fact of Avitide's securityholders to purchase Avitide. The transaction closed on September 20, 2021, and on the terms set forth in the Avitide Merger Agreement.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Avitide, which is headquartered in Lebanon, New Hampshire, offers diverse libraries and leading technology in affinity ligand discovery and development resulting in best-in-class ligand discovery and development lead-times. The acquisition gives the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">94</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company a new platform for affinity resin development, including C&amp;GT, and advances and expands the Company&#8217;s proteins and chromatography franchises to address the unique purification needs of gene therapies and other emerging modalities.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration Transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Avitide Acquisition was accounted for as a purchase of a business under ASC 805, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Business Combinations&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Under the terms of the Avitide Merger Agreement, all outstanding shares of capital stock of Avitide were cancelled and converted into the right to receive merger consideration with a value totaling up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_10df6d4a-a06b-4a0a-8c92-5c65f500addc" contextRef="C_93fa3b0f-740e-4330-9016-802a5b90c555" name="us-gaap:BusinessCombinationConsiderationTransferred1" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">275.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which consisted of upfront payments in aggregate of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_13a8c848-dba4-4e43-85f3-a583f5e43094" contextRef="C_93fa3b0f-740e-4330-9016-802a5b90c555" name="us-gaap:PaymentsToAcquireBusinessesGross" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">150.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million ($</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a6d5b6a9-76cf-4131-a2d9-a0497c2ae0b6" contextRef="C_93fa3b0f-740e-4330-9016-802a5b90c555" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">149.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, net of cash acquired) and up to an additional $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_416d384c-0392-49fb-91e0-7be76ee00e62" contextRef="C_93fa3b0f-740e-4330-9016-802a5b90c555" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">125.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (undiscounted) in contingent consideration earnout payments if certain performance targets are achieved. Total consideration paid also included $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0b68596d-2e96-4792-ad65-6ef964e70317" contextRef="C_93fa3b0f-740e-4330-9016-802a5b90c555" name="rgen:BusinessCombinationConsiderationIndemnificationEscrow" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million deposited into an escrow account against which the Company may make claims for indemnification. The Avitide Acquisition was funded through payment of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_06040596-9578-4d85-b6c4-fff08fcba00f" contextRef="C_1eb6f39f-f060-4fdc-a9c5-951ce53c87f7" name="us-gaap:PaymentsToAcquireBusinessesGross" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">75.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash, the issuance of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_959bb444-39a0-42c6-a726-13551fd323cb" contextRef="C_1eb6f39f-f060-4fdc-a9c5-951ce53c87f7" name="us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">271,096</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> unregistered shares of the Company&#8217;s common stock totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_57081a05-824e-4b50-8998-7aa4aed1411a" contextRef="C_1eb6f39f-f060-4fdc-a9c5-951ce53c87f7" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">83.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and contingent consideration with fair value of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d78318dd-d980-4865-876e-0f1883d9d816" contextRef="C_1eb6f39f-f060-4fdc-a9c5-951ce53c87f7" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">88.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of Avitide were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5348fd7c-7a08-4cbf-9a26-5e93fd23811e" contextRef="C_82b34f21-90da-4453-bd95-19f7f29b5987" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, fair value of the intangible assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_be975941-5a84-4555-9d11-8de331ceac3f" contextRef="C_82b34f21-90da-4453-bd95-19f7f29b5987" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">46.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and the residual goodwill is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4a895aca-9ddf-412d-98c2-a6aa56d65ca0" contextRef="C_82b34f21-90da-4453-bd95-19f7f29b5987" name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">197.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.  The Company has incurred </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7f4cd2b4-6368-436b-b6a4-4583a9c6d0bc" contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38" name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">5.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs associated with the Avitide Acquisition from the date of acquisition to December 31, 2022, with </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_af9e20d9-384a-45f7-b620-2b04027a1cbd" contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million of transaction and integration costs incurred in 2022 and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f1b23fa9-9af1-4e35-9ab1-0f95e68c1941" contextRef="C_f8ad70dd-d6b6-459c-bb62-1666ae84e439" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in 2021. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 the Company believes to be reasonable. However, actual results may differ from these estimates.</span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_e57e66fa-5fd3-48d9-9f38-60e56655ba4b" contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053" name="rgen:ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total consideration transferred is as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"/>
        <td style="width:1.94%;"/>
        <td style="width:1%;"/>
        <td style="width:15.823%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1f939063-16f6-422b-86e7-fc9b6bdfcc0b" contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053" name="rgen:CashConsiderationExcludingRestrictedCash" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">74,962</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equity consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fb6026ab-bfd0-4ef8-a300-c32124650697" contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82,968</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration - earnout</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_429bf9fe-2ff4-4e19-9fd1-d9e82a3cb681" contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">88,373</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_29d9ba1f-7f77-425a-9994-073638cbcf41" contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053" name="us-gaap:BusinessCombinationConsiderationTransferred1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">246,303</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">       Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 final valuation of Avitide. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended on September 20, 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">95</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_c519242f-e5ab-43a8-b9a8-4efd3514f163" contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053" name="us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"/>
        <td style="width:1.94%;"/>
        <td style="width:1%;"/>
        <td style="width:15.823%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b45bf9f7-fada-4552-a2b5-9b39d4dcda3a" contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">572</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_83546587-35f4-479e-8fee-14e443c0b020" contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">228</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_634b1141-6774-4891-bd2c-e9ac33ce4db6" contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">332</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dc2bc156-bb31-496c-a535-69360f348982" contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">114</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9194dd43-d48e-4baa-8446-19c8a1201219" contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,862</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1e2d301b-c0e2-4365-9626-ea97da51aaa2" contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,648</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_124e397e-ac51-41eb-b2c7-43991501f4ae" contextRef="C_d69fb9ce-46c5-482d-a1dd-f09d22665603" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,580</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_040415fc-6a66-43ef-9d8f-6ee96d69086f" contextRef="C_bd3481cc-2a09-47a2-b563-db968be0bb53" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,650</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a471d8b7-3fbc-4433-a60e-426d4efff45f" contextRef="C_8a2aa44e-1c77-4e9b-b26f-797d45ec5e86" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,210</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_525bceb3-4ce6-4d9c-ad43-171c8ebd838b" contextRef="C_8e9ef9aa-c8dd-45d5-a8d3-a5cd3db78973" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">210</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3ce21712-7c7e-47d3-9747-8f6ba9febd59" contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">197,476</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax asset</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_368f098e-9178-402c-94c1-64ad8ac47758" contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,525</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_be618ad6-e9c7-4605-84a8-d0013ad8b859" contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">215</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2155f50c-7b06-4c9f-8642-3fedae95a2ad" contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,183</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a1d8cc65-beeb-4d23-a033-12d45ace2518" contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">698</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7f14d2cb-3025-4dc2-9b69-1be65c0f585a" contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,950</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7e35d457-6eb5-4d93-b2e1-61291dacfa70" contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">58</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_60ae7cb7-c79d-4772-b813-3c6359dd151f" contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">246,303</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5487eada-f8bb-4c8b-99e6-cbcee5a26e3c" contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38" name="us-gaap:Goodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">197.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of Avitide. These synergies include certain cost savings, operating efficiencies and other strategic benefits projected to be achieved as a result of the Avitide Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes. During 2022, the Company recorded adjustments to goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6a6f5e71-bfd3-4d6a-81b9-8678fcc713fc" contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053" name="rgen:BusinessAcquisitionWorkingCapitalAdjustments" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million related to a change in estimated tax benefits associated with the net operating loss carryforward filed on the Avitide pre-acquisition tax return. The offset of these adjustments is included in long term deferred tax asset in the table above.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_b751e112-4a75-4f90-bfa7-7a159f03c6e8" contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the Avitide Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;"/>
        <td style="width:1.82%;"/>
        <td style="width:19.884%;"/>
        <td style="width:1.82%;"/>
        <td style="width:1%;"/>
        <td style="width:20.604%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_2000784a-616a-443f-b3a2-73e5072b9eb2" contextRef="C_176c1247-eb2a-4c73-b097-6065fe9c697c" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13 years</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d6df02c5-ace6-4cdf-a6b3-6bb52a7ac6bc" contextRef="C_d69fb9ce-46c5-482d-a1dd-f09d22665603" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,580</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_93cc915f-28f5-4998-84ca-5479a0005585" contextRef="C_89f0b31d-6344-48c2-9f98-eacbb11caa75" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e5c58a74-6812-401c-9e89-45c6ecb82938" contextRef="C_bd3481cc-2a09-47a2-b563-db968be0bb53" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,650</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_ec499bff-539f-4ce5-99d6-8c40c3d9882f" contextRef="C_bb1046c0-3b06-490a-8ed0-86c951deed8b" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18 years</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a9bbc71f-1c58-4732-9468-4d12caf871d0" contextRef="C_b9353006-1041-419d-bd45-4d2fa466f8f1" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,210</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_a77734f4-dfae-4b89-b4cc-0a748efa79b3" contextRef="C_761f2c79-00c2-4771-b63d-c76d4896890d" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3 years</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c32c98e2-e493-4086-aab3-e3d0b5fa18af" contextRef="C_8e9ef9aa-c8dd-45d5-a8d3-a5cd3db78973" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">210</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_55efe7e1-2873-4af3-bb2f-da1cf8870e18" contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">46,650</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Polymem S.A.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On June 22, 2021, the Company entered into a Stock Purchase Agreement with Polymem, a company organized under the laws of France, and Jean-Michel Espenan and Franc Saux, acting together jointly and severally as the representatives of the sellers pursuant to which Repligen acquired all of the outstanding common stock of Polymem for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2b9cb022-b90e-4516-9ba1-c092c6bb3ed2" contextRef="C_3dce753b-6100-443a-8dda-9eb651378f62" name="us-gaap:PaymentsToAcquireBusinessesGross" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">47.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash.  The transaction closed on July 1, 2021 (the &#8220;Polymem Acquisition.&#8221;).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Polymem, which is headquartered in, Toulouse, France, is a manufacturer of hollow fiber (&#8220;HF&#8221;) membranes, membrane modules and systems for industrial and bioprocessing applications. Polymem products will complement and expand the Company&#8217;s portfolio of HF systems and consumables. The acquisition substantially increases Repligen&#8217;s membrane and module manufacturing capacity and establishes a world-class center of excellence in Europe to address the accelerating global demand for these innovative products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">96</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration Transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company accounted for the Polymem Acquisition as a purchase of a business under ASC 805 and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Payment for the transaction was denominated in Euros but is reflected here in U.S. dollars for presentation purposes based on an exchange rate of 0.8437 as of July 1, 2021, the date of acquisition. Total consideration paid was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a05c897e-0f0f-47eb-adab-80f34aaaa3dd" contextRef="C_dbc99887-a384-479d-a23e-5365e742bd7b" name="us-gaap:BusinessCombinationConsiderationTransferred1" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">47.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which included $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e2cb1a47-fb68-4a08-8d79-7e0b41ea0fe3" contextRef="C_dbc99887-a384-479d-a23e-5365e742bd7b" name="rgen:BusinessCombinationConsiderationIndemnificationEscrow" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">4.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million deposited into an escrow account against which the Company may make claims for indemnification.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of Polymem were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d5d0e55b-0d67-43de-9788-9e4ea0a4ee98" contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, the fair value of the intangible assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ddc8a134-21b8-49ad-a549-69e4e242c10c" contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">9.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and the residual goodwill is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e9fcb98e-766f-4fdb-a807-3c8bf358acb9" contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff" name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">35.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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 </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5c8f5bc9-a221-4259-bd52-fc92748d3bfa" contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff" name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">8.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million of transaction and integration costs associated with the Polymem Acquisition from the date of acquisition to December 31, 2022, with </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8b901217-c4a7-4a72-8765-867e33906921" contextRef="C_dbc99887-a384-479d-a23e-5365e742bd7b" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">5.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million incurred in 2022 and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6e59fba1-bbfc-4c59-83e2-d970fe812fc7" contextRef="C_68b0b5e6-baaa-460e-ac57-8b878db22d5d" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million incurred from the date of acquisition to </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2021. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 final valuation of Polymem. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended on July 1, 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a2807187-49cb-4851-80c2-33975aefca73" contextRef="C_dbc99887-a384-479d-a23e-5365e742bd7b" name="us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and final allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"/>
        <td style="width:1.94%;"/>
        <td style="width:1%;"/>
        <td style="width:15.823%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_71a3d284-25e5-46c9-8517-7e478d6425bb" contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">353</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net working capital (excluding cash and inventory<br/>&#160;&#160;&#160;&#160;&#160;step-up)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_02f79ef1-d679-42cc-a9c5-94376bbbb2c0" contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff" name="rgen:NetWorkingCapitalExcludingCashAndInventory" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">414</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory step-up</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bb5cdd0d-51d3-4345-a309-d68a51db32d4" contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">543</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2d8631b5-d644-44d7-a584-4df8b496a064" contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,424</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9e2f2ef2-d890-4026-9298-ac450f783aec" contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,145</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_277ae645-3fa2-4c78-83b6-20d1784964b9" contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_11620055-72d4-4f69-90fd-c1b3932cecba" contextRef="C_0636f0b2-82e8-4d4a-8689-7980ef3c140d" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,274</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradenames</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f41ae81a-cc6b-43fa-ae15-190dba2aafb9" contextRef="C_452c508e-94a8-4d1a-9e28-9bd6a4333ba0" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">510</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-compete agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ca7f1b7b-b073-4f5e-8319-0c8f374bdac2" contextRef="C_57f35866-0a0e-4f03-9e1f-0e6bfdbe887f" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">312</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1241a2d4-90b8-4ec2-846c-b5bcbebb984a" contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,680</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fb4ee30f-bae8-420f-8555-08bb285de6c0" contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,253</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_970421d3-4c15-46cc-8a02-d20135d8a830" contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff" name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,327</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other long-term liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6df850fa-d23e-4296-a83f-36bf6ac9ba3b" contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">143</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:bold;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"><ix:nonFraction id="F_b104e112-0fea-4396-86dd-2b3f557871fb" contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">46,973</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5a1a736f-5756-48ea-bdc5-830a6d2a6c6c" contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff" name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">35.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of Polymem. These synergies include certain operating efficiencies and strategic benefits projected to be achieved as a result of the Polymem Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">97</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a50b05f6-3944-4c02-a7fb-243095e3dd2e" contextRef="C_dbc99887-a384-479d-a23e-5365e742bd7b" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the Polymem Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;"/>
        <td style="width:1.82%;"/>
        <td style="width:19.884%;"/>
        <td style="width:1.82%;"/>
        <td style="width:1%;"/>
        <td style="width:20.604%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_f7f73113-a999-46a4-9cfe-742ea4a2ca20" contextRef="C_abc6d87e-0b6b-412d-99d2-368b6cead43d" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13 years</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_955491cf-32ce-4f9f-9fab-b926d7292bf1" contextRef="C_0636f0b2-82e8-4d4a-8689-7980ef3c140d" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,274</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_91671b9f-7288-4fdd-a2cd-4c32681579ae" contextRef="C_6b7a8e21-e6f3-4d79-a2c3-b393af8f8a43" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14 years</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f3f230f7-a555-4707-b926-491fd5a24c83" contextRef="C_b31196e7-7730-407e-87ad-427e92d47547" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">510</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_8e901a9a-2bdd-438f-9eed-acad569d4b79" contextRef="C_f1cd9d79-74d1-4139-a63f-c0ab3c265986" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5 years</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ab9d9d67-6580-49af-8bfc-cd354fa47c40" contextRef="C_57f35866-0a0e-4f03-9e1f-0e6bfdbe887f" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">312</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_54190708-43f8-4f56-9f98-df5108272420" contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,096</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div></ix:nonNumeric></div>
  <p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div><ix:nonNumeric id="F_3987b39e-ef44-445f-a216-1190cff4fa01" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock" escape="true"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">5.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Restructuring Plan</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2023, the Board authorized the Company's management team to undertake restructuring activities to simplify and streamline our organization and strengthen the overall effectiveness of our operations. In addition to the initial streamlining and re-balancing efforts contemplated in July, the Company is undertaking further restructuring activities (collectively, the &#8220;Restructuring Plan&#8221;) which include consolidating a portion of our manufacturing operations between certain U.S. locations, discontinuing the sale of certain product SKUs, and evaluating the fair value of finished goods and raw materials, mostly secured during the 2020-2022 COVID-19 pandemic period (the &#8220;COVID-19 Period&#8221;) to meet increasing demand during a challenging supply chain environment in the industry.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company recorded pre-tax costs of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9faa1f9f-112c-4e33-b639-972789334733" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">32.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in 2023 related to the Restructuring Plan and expects the Restructuring Plan to be completed by the end of the third quarter of 2024. Of the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fece83e5-fb18-492c-88f8-2c783f11a6f9" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">32.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in pre-tax costs in 2023, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6675e93c-e899-4c70-944f-2908e2a00111" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:NoncashInventoryAdjustments" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">27.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million is non-cash, relating primarily to inventory adjustments to record inventory at net realizable value and accelerated depreciation on equipment related to the shutdown of manufacturing facilities and production lines, the remaining costs are cash expenses, primarily related to severance and employee-related costs.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_32741cc2-0bff-4b9c-845b-0ee573715577" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the charges related to restructuring activities by type of cost:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:28.071%;"/>
        <td style="width:1.281%;"/>
        <td style="width:1%;"/>
        <td style="width:11.825%;"/>
        <td style="width:1%;"/>
        <td style="width:1.281%;"/>
        <td style="width:1%;"/>
        <td style="width:12.905%;"/>
        <td style="width:1%;"/>
        <td style="width:1.281%;"/>
        <td style="width:1%;"/>
        <td style="width:10.624%;"/>
        <td style="width:1%;"/>
        <td style="width:1.281%;"/>
        <td style="width:1%;"/>
        <td style="width:10.264%;"/>
        <td style="width:1%;"/>
        <td style="width:1.281%;"/>
        <td style="width:1%;"/>
        <td style="width:9.904%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="18" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Year Ended December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Severance &amp; Employee-Related Costs</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Inventory Adjustments</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accelerated Depreciation</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Facility and Other Exit Costs</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="18" style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c5324aff-0aad-49c4-bec2-ed3b863701f0" contextRef="C_fc61bcb4-5f09-45af-931a-1be17723fb6a" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,077</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cd7bf855-90c4-4312-ae81-54dfaa70316e" contextRef="C_59c6cb12-a821-424b-958a-8e1dccd5124a" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">23,588</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e97cbe1e-bc07-4f9f-9a7f-a3105457fa67" contextRef="C_429cb6c7-82dd-45cb-8326-f24b2227ecb5" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,788</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d17a72ef-9da0-4040-a2f3-ff194eb9bc9b" contextRef="C_2272654c-228a-40b4-950d-0d2fa143ab89" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">933</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b9cf7632-23e4-46b8-8d3c-bee53d84baf4" contextRef="C_dc7d7eec-9f46-46e4-8509-341b45573209" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30,386</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f29a2547-5166-4730-810b-075f5bc7f7bb" contextRef="C_0855d97c-19d9-40a6-855f-1ec0869199c1" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">116</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_49623fe4-6a38-4901-a45c-9f19d8e42f69" contextRef="C_3de5f0a2-8ee1-4896-a6eb-e9e2e357d07a" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5acb119d-3021-463e-951e-a51562a077fe" contextRef="C_dc97e7ca-b3fe-4699-82c8-96257e653e97" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f253096f-648c-48b5-9b3f-9df74034a3d1" contextRef="C_4d5da0c2-c998-4203-b661-a923d1491869" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9a6ac1a2-cbf2-428d-a059-b3fecb692ad8" contextRef="C_b1008982-a0e7-42c3-8ebb-940699378d24" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">116</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eee2cfc1-c5aa-47d0-b831-54681e9ebbb2" contextRef="C_8eefe805-faf8-4fd4-a5e8-da6b752961dd" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,532</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e5dcd49b-b785-4846-b03c-7542694c2ab8" contextRef="C_efffc0ae-2172-43c5-8114-d5bffb7f041e" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_51d2c985-edfa-48ba-be69-648bb6efe7fe" contextRef="C_629969d7-4fcd-4b75-bca8-a8070fd99748" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">28</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_173b1adf-1682-4341-a6cd-3a01d1ac992c" contextRef="C_5a89aa7f-7234-4cfa-82bd-e359c1c57fef" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">138</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_22ae5fc9-f4b0-49c7-bdd1-2ff74ec22a68" contextRef="C_95397cde-e80a-4279-b4e9-cf10f1c35dd3" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,698</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_59d85c77-05e5-43e7-b1f7-b64cdc84addc" contextRef="C_3f2e82ce-7563-4fd3-b05b-7cd5bf3bf433" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,725</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a3716c16-85dc-41b9-ae5b-6492b1f2f11b" contextRef="C_eeeb3de4-e5e2-411c-b119-8f88413231a6" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">23,588</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_934d40a8-e7be-4a37-94e2-a9580246ee47" contextRef="C_318058e4-eefd-48fc-9c45-d35a613913ff" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,816</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ba0e44c0-cf9f-4c73-80fe-1655f0c628c7" contextRef="C_8ab693e6-bbbd-4af2-bae9-28eb2bd31104" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,071</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3336129b-a85e-4066-b247-4ca25ef752ea" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">32,200</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Severance and employee-related costs under the Restructuring Plan are associated with actual headcount reductions. Costs incurred include cash severance and non-cash severance, including other termination benefits. Severance and other termination benefit packages are based on established benefit arrangements or local statutory requirements and we recognized the contractual component of these benefits when payment was probable and could be reasonably estimated.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The inventory adjustments include the impact of the Company discontinuing the sale of certain product SKUs and the impact of having proactively secured materials during the COVID-19 Period to meet accelerated demand during a challenging supply chain environment in the industry. Where demand has reduced, finished goods and raw materials, whose value exceeded the projected requirements to be used before reaching their expiration date, were written down to their realizable value. The Restructuring Plan also includes the closing of manufacturing facilities and production lines, which included inventory that could not be repurposed.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Non-cash charges for accelerated depreciation were recognized on long-lived assets that were taken out of service before the end of their normal service due to the shutdown of manufacturing facilities and production lines, in which case depreciation estimates were revised to reflect the use of the assets over their shortened useful life.</span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">98</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The restructuring accrual is included in accrued liabilities on the condensed consolidated balance sheets as of December 31, 2023 and the balance has been paid as of that date. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_bb8f90ee-b90d-4fd3-8699-38a5e8cf5bba" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock" escape="true" continuedAt="F_bb8f90ee-b90d-4fd3-8699-38a5e8cf5bba_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Activity related to the Restructuring Plan for 2023 was as follows (amounts in thousands):</span></ix:nonNumeric></span></p><div style="font-size:10pt;font-family:Arial;"><ix:continuation id="F_bb8f90ee-b90d-4fd3-8699-38a5e8cf5bba_1">
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:32.326%;"/>
        <td style="width:1.5%;"/>
        <td style="width:1%;"/>
        <td style="width:13.903%;"/>
        <td style="width:1%;"/>
        <td style="width:1.5%;"/>
        <td style="width:1%;"/>
        <td style="width:15.143%;"/>
        <td style="width:1%;"/>
        <td style="width:1.5%;"/>
        <td style="width:1%;"/>
        <td style="width:12.523%;"/>
        <td style="width:1%;"/>
        <td style="width:1.5%;"/>
        <td style="width:1%;"/>
        <td style="width:12.102%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Restructuring Costs</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amounts Paid in 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Non-Cash Restructuring Items</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Restructuring Liability</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Severance &amp; employee-related costs</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3156396e-d0cf-4f7d-9f9b-63c46cd44e69" contextRef="C_3f2e82ce-7563-4fd3-b05b-7cd5bf3bf433" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,725</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7050600a-dfca-4d7c-8168-d8dd5e8913a6" contextRef="C_3f2e82ce-7563-4fd3-b05b-7cd5bf3bf433" name="us-gaap:PaymentsForRestructuring" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,044</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fb5d2337-06a9-46bf-bd58-ffe29e6029c8" contextRef="C_3f2e82ce-7563-4fd3-b05b-7cd5bf3bf433" name="us-gaap:RestructuringReserveSettledWithoutCash2" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">217</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9f1e7254-a712-4f32-943f-158b23a4f2ed" contextRef="C_f9061e21-e0a8-43ae-a507-63f7652b4a10" name="us-gaap:RestructuringReserve" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">464</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory adjustments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c9063bd8-f72d-4e77-9c66-6ca76f24c4e7" contextRef="C_eeeb3de4-e5e2-411c-b119-8f88413231a6" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">23,588</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c9d8a1cd-56f8-4faf-8767-bc5e405b9c6f" contextRef="C_eeeb3de4-e5e2-411c-b119-8f88413231a6" name="us-gaap:PaymentsForRestructuring" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4639309b-c21e-448a-a310-b54f5a833198" contextRef="C_eeeb3de4-e5e2-411c-b119-8f88413231a6" name="us-gaap:RestructuringReserveSettledWithoutCash2" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">23,588</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_67b3038b-24b5-4fcc-8a3e-00c00a127483" contextRef="C_e1e72716-495b-42c4-b383-0caca559d128" name="us-gaap:RestructuringReserve" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accelerated depreciation</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eca407d9-9a37-47fb-955c-a46a98b5c376" contextRef="C_318058e4-eefd-48fc-9c45-d35a613913ff" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,816</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9cfafcf6-606e-433a-b709-16313deca207" contextRef="C_318058e4-eefd-48fc-9c45-d35a613913ff" name="us-gaap:PaymentsForRestructuring" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_12eed143-ebc3-496c-af3f-1a0c57e31c15" contextRef="C_318058e4-eefd-48fc-9c45-d35a613913ff" name="us-gaap:RestructuringReserveSettledWithoutCash2" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,816</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eda8322a-456f-4018-a67e-4478d285117c" contextRef="C_83869e39-3aef-449d-8cf6-0f4760a4b0eb" name="us-gaap:RestructuringReserve" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Facility exit and other exit costs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0b8b564e-84fe-4216-8a91-2f175e89a191" contextRef="C_db538168-e071-4221-adec-303658be9d4c" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,071</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ff5d01eb-edc0-4a58-9022-c00ae4cac3d8" contextRef="C_db538168-e071-4221-adec-303658be9d4c" name="us-gaap:PaymentsForRestructuring" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,061</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3e55f40b-6bc2-48a5-be5f-869fe0e6b8d9" contextRef="C_db538168-e071-4221-adec-303658be9d4c" name="us-gaap:RestructuringReserveSettledWithoutCash2" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_665edfe8-16cd-471c-84b9-1d2c341d66f8" contextRef="C_1ad325f0-3cde-42a7-9403-d3a899ab7b92" name="us-gaap:RestructuringReserve" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2134b5f5-f433-4129-a7dd-1dc657a1157b" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:RestructuringCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">32,200</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6c3836fd-b4ab-413c-840a-5686efcc0e4d" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:PaymentsForRestructuring" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,105</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_58330419-f499-420e-bd5e-9f27c2bc3799" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:RestructuringReserveSettledWithoutCash2" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,631</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0de1a40f-3a5b-4ebf-a887-3c083fdf7403" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:RestructuringReserve" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">464</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div></ix:nonNumeric></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div><ix:nonNumeric id="F_2e6db624-4e89-48e0-90be-8242c6ea36e9" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:LesseeOperatingLeasesTextBlock" escape="true"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">6.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Leases</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 13 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 non-lease 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023 and 2022, operating lease right of use assets wer</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">e $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c3f39d3a-37da-446d-a505-46380a40f5ab" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">115.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> m</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">illion and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7306816e-6e5d-451d-b322-556508a46a48" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">125.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively and operating lease liabilities were </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d22f1a64-046d-449d-825c-9b36e888ef90" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">132.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5a38a22a-6198-42c9-a91c-5bba3d56a7ce" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:OperatingLeaseLiability" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">138.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively. The addition of FlexBiosys and Metenova in 2023 added </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a185c350-1871-405f-8edc-fb0cf1f0766c" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:AreaOfLand" unitRef="U_sqft" decimals="INF" format="ixt:num-dot-decimal">43,833</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> square feet to our leased properties and as a result of that and the expansion in Toulouse, France, the operating right of use asset balance increased $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7cdb8f73-2777-40bf-bc13-94a53830ab5e" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:IncreaseDecreaseInOperatingLeaseAsset" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">4.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in 2023, as compared to 2022. However, the consolidated right of use assets balance decreased due to the normal amortization of existing leases during 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">   </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_cca5dad4-759e-465b-861a-e0eccc1d1b8f" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The maturities of the Company&#8217;s operating lease liabilities as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 are as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:72.84%;"/>
        <td style="width:2.2%;"/>
        <td style="width:1%;"/>
        <td style="width:22.959999999999997%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3caa3d6d-5a83-4807-b827-da1a83e523db" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,585</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2025</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6f56d20e-3da2-45db-bd2d-e21d94955921" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,645</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2026</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c46e7780-eb19-4bd8-96ca-ef91fa83681f" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,406</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2027</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8bafe304-3012-459d-ae65-1e05304f4ad0" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">23,944</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2028</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_31638b4f-f067-4571-9ae0-18f02e04cd3b" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,382</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2029 and thereafter</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1995b424-8dd7-4e19-abe5-e695304c036a" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">79,435</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total future minimum lease payments</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aa3486e6-96b3-4758-83e4-67b320528ac3" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">201,397</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less lease incentives</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ecec6ca9-61ac-44b5-94dd-34157a3a1fa4" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="rgen:LeaseIncentives" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,765</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less amount of lease payment representing interest</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9dbd7f3b-ab6b-4173-9254-d84d1995ba27" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">32,595</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total operating lease liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b71545e-c713-457b-bcf7-0f28bec3f029" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:OperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">159,037</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">99</span></p></div>
       <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><ix:footnote id="FNT_0aaa5cdb-d79f-425b-b2a3-10c61e327eec" xml:lang="en-US"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">The future minimum lease payments include obligations for leases not yet commenced of $</span><span style="font-size:9pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5718c7c1-e2cc-4aa7-9ece-4f630964df52" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="rgen:LeaseObligationsNotYetCommenced" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">26.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> million for manufacturing, office and warehouse facilities. These leases have terms of between </span><span style="font-size:9pt;font-family:Times New Roman;"><ix:nonNumeric id="F_0ba408bc-9edb-452d-b4af-f0217c3d1dd9" contextRef="C_d44873d0-5bbc-4020-be55-4d5fb3f6c3b1" name="us-gaap:LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">5</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="font-size:9pt;font-family:Times New Roman;"><ix:nonNumeric id="F_38b9f218-00ae-40bf-8fce-c978f3c5f6c7" contextRef="C_6c317fe5-5e9d-47bb-aa7b-c2c6fb4e8240" name="us-gaap:LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">10</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> years and commence during the first quarter of 2024.</span></ix:footnote></div></div></ix:nonNumeric></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_632a24ce-06e3-4736-8b26-d91d7b2dccc3" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total operating lease liabilities included on the Company&#8217;s consolidated balance sheets are as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.28%;"/>
        <td style="width:1.74%;"/>
        <td style="width:1%;"/>
        <td style="width:17.619999999999997%;"/>
        <td style="width:1%;"/>
        <td style="width:1.74%;"/>
        <td style="width:1%;"/>
        <td style="width:17.619999999999997%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_deaf1330-6c7c-463f-a4eb-69a894544292" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,631</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_950896df-b2d0-4c8c-986a-7f3a27afcaee" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,957</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5e7e4f99-6dfd-4884-a661-f2dbb948d71d" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">126,578</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f27c638e-7a65-4f3b-99c1-51e9c1a4302f" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">131,389</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Minimum operating lease payments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_562faeaf-0772-4cf6-a603-e5f9acaa80ab" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">132,209</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_782148e6-cda8-4903-9eae-a289161a158f" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">138,346</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. </span><span style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_adbde818-5baa-4b2c-ae80-66c426eb5643" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:LeaseCostTableTextBlock" escape="true" continuedAt="F_adbde818-5baa-4b2c-ae80-66c426eb5643_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021, total lease cost is comprised of the following:</span></ix:nonNumeric></span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_adbde818-5baa-4b2c-ae80-66c426eb5643_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:44.489%;"/>
        <td style="width:1.5%;"/>
        <td style="width:1%;"/>
        <td style="width:15.083%;"/>
        <td style="width:1%;"/>
        <td style="width:1.5%;"/>
        <td style="width:1%;"/>
        <td style="width:15.083%;"/>
        <td style="width:1%;"/>
        <td style="width:1.26%;"/>
        <td style="width:1%;"/>
        <td style="width:15.083%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Lease Cost</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6b3fcabb-8f9c-45d7-ae42-a11ff44d62fb" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:OperatingLeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,981</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_12d5674b-bde3-4fbd-bf10-416442f33468" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:OperatingLeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,833</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ec5a3539-2de6-4a67-82f6-12d161c6dad2" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:OperatingLeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,838</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Variable operating lease cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e82f7557-2e2d-49b5-b414-4e31ab0b9c48" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:VariableOperatingLeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,075</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_da2b970e-d477-4ec5-a7c7-2c6c160e9d8c" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:VariableOperatingLeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,317</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_58175058-3c23-4c00-baad-b796f15596c7" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:VariableOperatingLeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,118</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Lease cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1f7067d6-2b6a-47b2-9de7-653f496ecc1d" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:LeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,056</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5de0b5e7-7b50-4663-badd-32c4b1ca7bcb" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:LeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">29,150</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8cbab1ad-2d94-4310-a879-7f9f92f8f8ee" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:LeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">16,956</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_02e7cafc-ccc4-44de-ab79-4074885435fa" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following information represents supplemental disclosure for the consolidated statements of cash flows related to operating leases (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:44.489%;"/>
        <td style="width:1.5%;"/>
        <td style="width:1%;"/>
        <td style="width:15.083%;"/>
        <td style="width:1%;"/>
        <td style="width:1.5%;"/>
        <td style="width:1%;"/>
        <td style="width:15.083%;"/>
        <td style="width:1%;"/>
        <td style="width:1.26%;"/>
        <td style="width:1%;"/>
        <td style="width:15.083%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1214799f-90cc-438f-ba85-ecb2aa49d358" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:OperatingLeasePayments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,862</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_822822c1-885c-48e7-b69d-a26b99b10ded" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:OperatingLeasePayments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,757</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_36d72ff6-1259-48b3-8521-8fffbf804855" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:OperatingLeasePayments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,863</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_268a2f67-d610-402b-9d45-db25ac4b3a91" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The weighted average remaining lease term and the weighted average discount rate used to measure the Company&#8217;s operating lease liabilities as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, were:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:75.735%;"/>
        <td style="width:1.42%;"/>
        <td style="width:1%;"/>
        <td style="width:20.844%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average remaining lease term (years)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_9b075af6-5cb6-48bd-9d43-fa0807a33261" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7.74</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average discount rate</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d270ce1-0a59-4508-863f-ccab9f40eb82" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">4.13</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
      </table></ix:nonNumeric></div></ix:nonNumeric></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">100</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_6dd98300-c2d7-4f26-abc7-2d62181adab7" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:RevenueFromContractWithCustomerTextBlock" escape="true"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">7.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue Recognition</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Revenue from Contracts with Customers,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Disaggregation of Revenue</span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_955d35dc-73cd-4763-b5cf-053735639718" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:DisaggregationOfRevenueTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 was as follows:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49.24%;"/>
        <td style="width:1.66%;"/>
        <td style="width:1%;"/>
        <td style="width:13.26%;"/>
        <td style="width:1%;"/>
        <td style="width:1.66%;"/>
        <td style="width:1%;"/>
        <td style="width:13.26%;"/>
        <td style="width:1%;"/>
        <td style="width:1.66%;"/>
        <td style="width:15.26%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;">
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Product revenue</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b4b814aa-9c1f-4897-a2e7-d9a653471ff2" contextRef="C_dee2a31b-7253-47c6-9660-f5b5e672b177" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">638,381</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6b40d517-864e-4e99-9c76-db628608a3f1" contextRef="C_9011b1f0-543e-44f7-aa9b-706c7c794f92" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">801,183</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Royalty and other income</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_765914db-16e6-45c8-8b59-fe9c4da35b37" contextRef="C_4963f6f6-5033-4b4e-af94-a330c4799802" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">383</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a01af6c4-1cd9-411a-b787-ecc1652f1130" contextRef="C_8b504674-e4ca-4879-959d-9ace15ea74ed" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">353</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;">
        <td style="background-color:#cff0fc;text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1aee5ccf-8ff7-40a8-8419-c00699889b8d" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">638,764</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3f9c8b31-6ac1-4a9c-bc47-889c9bd5e4b0" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">801,536</ix:nonFraction></span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">When disaggregating revenue, the Company considered all of the economic factors that may affect its revenues.  Because 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Disaggregated revenue from contracts with customers by geographic region can be found in Note 2, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Summary of Significant Accounting Policies &#8211; Segment Reporting,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> above.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6e8d3b4d-b308-49d8-8e59-b53065aa97ff" contextRef="C_7033f524-e20c-4e28-a2e1-5b4cac1b4acd" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_44b9949b-e70b-488c-a6a0-520a085452ff" contextRef="C_d4226f43-13ba-4627-af05-aec207a83722" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" decimals="INF" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> revenue from customers that represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_99926ef6-b768-474d-90ee-71543c51176f" contextRef="C_921a48f8-4769-4d33-a7a3-7e05610adf24" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal"><ix:nonFraction id="F_adfd22f6-2740-4fab-b73c-c390ecdbca54" contextRef="C_8876d512-9885-487e-975e-5ffa51ba8df7" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">10</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% or more of the Company's total revenue for the year ended December 31, 2023 and 2022. Revenue from Pfizer Inc. was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_348a2963-7095-47d5-a32e-97d11fe22e6b" contextRef="C_756eb3ed-ae42-4205-869e-4c89654b3269" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">68.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, or </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c51b3304-d53d-4a74-a759-caca9da91aa4" contextRef="C_49349e53-b04d-4615-92ad-de5a82724747" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">10</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, of the Company's total revenue for the year ended December 31, 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Filtration Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s filtration products generate revenue through the sale of KrosFlo and ARTeSYN tangential flow filtration (&#8220;TFF&#8221;) systems, TangenX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> flat sheet (&#8220;FS") cassettes, Spectrum</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> HF filters, membranes and modules, XCell ATF systems and related consumables. Supporting our systems, we also sell ProConnex</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Flow Path assemblies and custom silicone-based, single-use flow path assemblies and components from Metenova, FlexBiosys, BioFlex, Polymem, ARTeSYN Biosolutions Holdings Ireland Limited, NMS and EMT, seven acquisitions completed since 2020.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s KrosFlo and ARTeSYN 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 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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s TangenX FS cassettes (SIUS, SIUS Gamma</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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 FS cassettes is generally recognized at a point in time upon transfer of control of the customer.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">101</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 606-10-55-18.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company also markets XCell ATF controllers, which are technologically advanced filtration devices 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 controllers are typically sold with consumables (i.e., tubing sets, metal stands) as well as training and installation services at the request of the customer. The controllers and consumables are considered distinct products and therefore represent separate performance obligations. First time purchasers of the controllers typically purchase a controller that is shipped with the tubing set(s) and metal stand(s). The training and installation services do not significantly modify or customize the XCell ATF controllers and therefore represent a distinct performance obligation. XCell ATF product revenue related to controllers and consumables is generally recognized at a point in time upon transfer of control to the customer.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Chromatography Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 pre-packed chromatography column product line. OPUS columns are designed to be disposable following a production campaign. Each OPUS column is delivered pre-packaged with the customer&#8217;s choice of chromatography resin, which is either provided by the Company for the customer or is customer supplied. Chromatography product revenue is generally recognized at a point in time upon transfer of control to the customer and represents a single performance obligation.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Process Analytics Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The process analytics franchise generates revenue primarily through the sale of the SoloVPE and FlowVPX slope spectroscopy systems, consumables and service. These products complement and support the Company&#8217;s existing filtration, chromatography and proteins franchises as they allow end-users to make in-line protein concentration measurements in filtration, chromatography and fill-finish applications, designed to allow for real-time process management. Process analytics product revenue is generally recognized at a point in time upon transfer of control to the customer.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Protein Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s protein franchise generates revenue primarily 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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2021, the Company completed the Avitide Acquisition and added its diverse libraries and leading technology in affinity ligand discovery and development to its proteins franchise. The acquisition gives the Company a new platform for affinity resin development, including C&amp;GT, and advances and expands the Company&#8217;s proteins and chromatography franchises to address the unique purification needs of gene therapies and other emerging modalities.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Other Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Transaction Price Allocated to Future Performance Obligations</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">102</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 606-10-50-14.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Contract Balances from Contracts with Customers</span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_9b426285-cb0e-4122-a5b5-af5d25ad2b12" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides information about receivables and deferred revenue from contracts with customers as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 (amounts in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:70.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.72%;"/>
        <td style="width:1.64%;"/>
        <td style="width:1%;"/>
        <td style="width:13.040000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.64%;"/>
        <td style="width:1%;"/>
        <td style="width:11.96%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balances from contracts with customers only:</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b20a0485-58e6-46b0-a1b6-2bf2f469c034" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:ContractWithCustomerReceivableAfterAllowanceForCreditLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">124,161</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fa198ab3-2ee4-4680-9aea-8a91bd3aba61" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:ContractWithCustomerReceivableAfterAllowanceForCreditLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">116,247</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred revenue (included in accrued liabilities and<br/>&#160;&#160;&#160;other noncurrent liabilities in the consolidated <br/>&#160;&#160;&#160;balance sheets)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_77b6303c-406a-49fc-8ae1-f5460707a9f5" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:DeferredRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,755</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2647a1ec-a07d-4a99-9e48-9ef792bde05b" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:DeferredRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,631</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue recognized during periods presented relating to:</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">The beginning deferred revenue balance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e9933ee2-4e15-4296-9e34-d91a56f62b3e" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">18,751</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_32473937-523c-428f-9e32-e1b2fcc97382" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,390</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Costs to Obtain or Fulfill a Customer Contract</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Applying the practical expedient in paragraph 340-40-25-4, 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 statements 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.</span></p></ix:nonNumeric></div>
  <div><ix:nonNumeric id="F_6bc672e5-11f4-4b2e-bc96-ca0b8c9fb3dd" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:CreditLossFinancialInstrumentTextBlock" escape="true"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">8.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Credit Losses</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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' 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">103</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 uncollectible 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accounts receivable balance on the Company&#8217;s consolidated balance sheets as of December 31, 2023 was</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_adbe6104-95a8-46dd-ac4b-b2d14d9d371e" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">124.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, net o</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">f $</span><span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;"><ix:nonFraction id="F_9ac05150-b538-472d-9138-92484257afd8" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of allowances. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_47169d93-c807-49e5-aac5-38887b62d3cb" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock" escape="true" continuedAt="F_47169d93-c807-49e5-aac5-38887b62d3cb_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides a roll-forward of the allowance for credit losses in 2023 and 2022 that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (amounts in thousands):</span></ix:nonNumeric></span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_47169d93-c807-49e5-aac5-38887b62d3cb_1"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"/>
        <td style="width:1.62%;"/>
        <td style="width:1%;"/>
        <td style="width:12.883000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.62%;"/>
        <td style="width:1%;"/>
        <td style="width:12.883000000000001%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of allowance for credit losses, beginning of period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4379ace4-26a4-4e2e-bfbc-1a10eac00a1d" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,365</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b1fb4985-e7bc-4c71-94dd-3ae14b56b90a" contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,417</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current period change for write-offs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_884ca320-9690-423c-9611-1bd2705c2ada" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c3ce5b34-b7e1-4094-9df4-3552c6d1ec89" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">126</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current period change for expected credit losses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_046452e7-30eb-456e-b1fc-ec29ed00d21b" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ProvisionForDoubtfulAccounts" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">839</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ede6cd46-9a16-46bb-bbcc-c263ad8383f6" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ProvisionForDoubtfulAccounts" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">74</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of allowance for credit losses, end of period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_04bab1b8-3762-447e-ac8f-4b32fede6bd9" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,122</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2d406bf8-5bf1-4113-9130-13336851bdc9" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,365</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div></ix:nonNumeric></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div><ix:nonNumeric id="F_b382e0a6-bebd-4daf-a2b0-b2e69c770315" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" escape="true"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">9.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Goodwill and Intangible Assets</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. </span><span><ix:nonNumeric id="F_60b1e818-5349-40f2-9fec-c1e7897cb5a4" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ScheduleOfGoodwillTextBlock" escape="true" continuedAt="F_60b1e818-5349-40f2-9fec-c1e7897cb5a4_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the changes in the carrying value of goodwill for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022 (amounts in thousands):</span></ix:nonNumeric></span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_60b1e818-5349-40f2-9fec-c1e7897cb5a4_1"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"/>
        <td style="width:1.94%;"/>
        <td style="width:1%;"/>
        <td style="width:15.823%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2021</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a8862c80-51e6-41ae-b038-8e47566620d0" contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">860,362</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Measurement period adjustment - BioFlex</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_59ea25ab-29e0-4ee9-8052-401bd1e2b855" contextRef="C_90f3eb25-6096-41e0-b120-8962a82a3df8" name="us-gaap:GoodwillPurchaseAccountingAdjustments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">346</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Measurement period adjustment - Avitide</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d35192d0-e67f-4598-b3f5-e7fbf4f7896d" contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053" name="us-gaap:GoodwillPurchaseAccountingAdjustments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,768</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cumulative translation adjustment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7dcd060f-5282-462c-a8e6-143aab3ceb84" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,735</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2022</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ee52b9cd-e521-488e-a7a8-2d6530849aca" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">855,513</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of FlexBiosys, Inc.</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6e817819-b0b7-423f-b7a1-4d76ff9f5006" contextRef="C_ca77aac6-1dd3-4cdc-9e35-19da5b52b9c0" name="us-gaap:GoodwillAcquiredDuringPeriod" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,321</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of Metenova Holding AB</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_78b297c1-c308-4b72-ad49-03df96a0d0bd" contextRef="C_4016e51f-a392-49c5-9c26-e9ddedab261e" name="us-gaap:GoodwillAcquiredDuringPeriod" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115,778</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cumulative translation adjustment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d89305bf-60b9-4ce7-ac40-323e06d08f49" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,508</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d47e9439-b5d6-4a76-9d57-d78c3546cb5a" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">987,120</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During each of the fourth quarters of 2023, 2022 and 2021, the Company completed its annual impairment assessments and concluded that goodwill was not impaired in any of those years.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 existed 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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">104</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Indefinite-lived intangible assets are tested for impairment at least annually. There has been </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0b5a198f-dfff-47d0-a77a-c8261c8c9a99" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen">no</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment of our intangible assets for the periods presented.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_2cf32d91-772b-4300-a922-3026bde76f80" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets, net consisted of the following at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.31%;"/>
        <td style="width:1.18%;"/>
        <td style="width:1%;"/>
        <td style="width:9.258000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.18%;"/>
        <td style="width:1%;"/>
        <td style="width:9.278%;"/>
        <td style="width:1%;"/>
        <td style="width:1.2%;"/>
        <td style="width:1%;"/>
        <td style="width:9.298%;"/>
        <td style="width:1%;"/>
        <td style="width:1.16%;"/>
        <td style="width:1%;"/>
        <td style="width:9.138%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Carrying<br/>Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>Amortization</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net<br/>Carrying<br/>Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Useful Life<br/>(in years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Finite-lived intangible assets:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Technology - developed</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8429dd41-21b2-4d20-a4d5-13609c9da063" contextRef="C_32215449-730e-4fa0-b7ac-781fd5013fdc" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">249,594</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f94663e3-5e61-4376-be68-030ea08aa45e" contextRef="C_32215449-730e-4fa0-b7ac-781fd5013fdc" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">44,162</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_354e4d47-7b90-4618-997b-7637e260e86d" contextRef="C_32215449-730e-4fa0-b7ac-781fd5013fdc" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">205,432</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_bdf9cdb9-918d-4e40-8ba4-e9d0d467d8f3" contextRef="C_32215449-730e-4fa0-b7ac-781fd5013fdc" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Patents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_50620dc3-bb12-4a27-b2a7-0204d9fc44d1" contextRef="C_5e52ff09-0c2f-4c4c-8f25-02befc4fc5a6" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">240</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f7154480-6929-48c9-b583-afaf79c5bb99" contextRef="C_5e52ff09-0c2f-4c4c-8f25-02befc4fc5a6" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">240</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dd389d33-ec34-43e7-a408-4568c1b25204" contextRef="C_5e52ff09-0c2f-4c4c-8f25-02befc4fc5a6" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_451e3df1-751f-426b-b856-046d484ec53e" contextRef="C_5e52ff09-0c2f-4c4c-8f25-02befc4fc5a6" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3b8de15b-5574-4666-9a55-3fcb04e865dc" contextRef="C_af29254a-97fe-49f0-93bd-b356ee735f3b" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">269,949</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c9500c76-70ab-4e44-b6ac-1c4be05aeeae" contextRef="C_af29254a-97fe-49f0-93bd-b356ee735f3b" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">83,963</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a6094ec3-c42f-4534-8214-204f18aa1cd5" contextRef="C_af29254a-97fe-49f0-93bd-b356ee735f3b" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">185,986</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_b35aba34-ccfc-4c8d-9cc1-5be5f298de7e" contextRef="C_af29254a-97fe-49f0-93bd-b356ee735f3b" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ccb71f8c-a4bd-4846-a234-6a76c1ecc5dc" contextRef="C_2c1ea27c-b234-4def-9024-deb8afedfee8" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,757</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_77f79e8d-c5da-40ca-8672-f86b90519c12" contextRef="C_2c1ea27c-b234-4def-9024-deb8afedfee8" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,789</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ab7e1351-6b19-4e8e-9d53-3839a43d3a1f" contextRef="C_2c1ea27c-b234-4def-9024-deb8afedfee8" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,968</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_5c21e2f8-8e25-4434-a115-237d674f4f48" contextRef="C_2c1ea27c-b234-4def-9024-deb8afedfee8" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other intangibles</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_83d2d5ad-29ca-45dc-a299-432d9eccb9b2" contextRef="C_76b0becf-00cf-4745-b3a9-ee1d2ad42d5c" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,914</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_16a4c1e1-21bf-4f4e-a436-8b1f10a9bbde" contextRef="C_76b0becf-00cf-4745-b3a9-ee1d2ad42d5c" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,514</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eb1bdb11-b28d-4fb9-a0d2-962ce952d7db" contextRef="C_76b0becf-00cf-4745-b3a9-ee1d2ad42d5c" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,400</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_8240c421-a2a5-4fda-b35c-aa63c17acde3" contextRef="C_76b0becf-00cf-4745-b3a9-ee1d2ad42d5c" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total finite-lived intangible assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_da506225-d711-4c3f-8f59-1f5d6d6e1f38" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">532,454</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4f6c5c36-49d7-49d5-8ecd-b59137c2ddb3" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">132,668</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ea3f9302-9f2c-4e24-8b8e-b53538892757" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">399,786</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_66a54eb5-14b9-4dd1-8044-c140385991bc" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Indefinite-lived intangible asset:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9e7e921e-f612-4835-8e21-a31220c03325" contextRef="C_2c1ea27c-b234-4def-9024-deb8afedfee8" name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">700</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_43e30132-c3e0-4912-8282-e3375422c4d7" contextRef="C_2c1ea27c-b234-4def-9024-deb8afedfee8" name="rgen:IndefiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">700</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total intangible assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_70315e0f-c9da-4753-a727-291d89a5cf31" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:IntangibleAssetsGrossExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">533,154</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_30ed9473-4156-4213-b36d-e0f1b3b3f120" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">132,668</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8eebd0c9-d901-4c86-8858-67667bfcb699" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">400,486</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets consisted of the following at December 31, 2022:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.31%;"/>
        <td style="width:1.18%;"/>
        <td style="width:1%;"/>
        <td style="width:9.258000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.18%;"/>
        <td style="width:1%;"/>
        <td style="width:9.278%;"/>
        <td style="width:1%;"/>
        <td style="width:1.2%;"/>
        <td style="width:1%;"/>
        <td style="width:9.298%;"/>
        <td style="width:1%;"/>
        <td style="width:1.16%;"/>
        <td style="width:1%;"/>
        <td style="width:9.138%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Carrying<br/>Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>Amortization</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net<br/>Carrying<br/>Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Useful Life<br/>(in years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Finite-lived intangible assets:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Technology - developed</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_db9cdcfd-9cbc-449f-a4ff-06ef43cc213d" contextRef="C_4047a929-48bd-4b7f-ab2c-422de8b51ffc" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">190,463</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e580bf63-3f35-4dc5-b9a5-4f171971d2ab" contextRef="C_4047a929-48bd-4b7f-ab2c-422de8b51ffc" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30,992</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a2814528-3cab-42b6-adaa-6818800147d4" contextRef="C_4047a929-48bd-4b7f-ab2c-422de8b51ffc" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">159,471</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_9ffbf5c1-a7e7-4a39-97f2-d005127ed2b3" contextRef="C_4047a929-48bd-4b7f-ab2c-422de8b51ffc" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Patents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_82db9df2-499b-44e0-a6db-5042db9a87fb" contextRef="C_983e3cb9-2df9-4140-b9d8-98b5cf07a14f" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">240</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8b5b0c7c-5134-4f56-a8be-939f8e048e31" contextRef="C_983e3cb9-2df9-4140-b9d8-98b5cf07a14f" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">240</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b99493e1-6f03-4b4f-a4f9-d19c00263302" contextRef="C_983e3cb9-2df9-4140-b9d8-98b5cf07a14f" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_10d3f51d-0501-4d54-b559-4118d55aad61" contextRef="C_983e3cb9-2df9-4140-b9d8-98b5cf07a14f" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2691f03b-e374-458b-8b6b-45ab4333fc0d" contextRef="C_3efdbd7b-4530-4e1b-83f1-bdafb2ce9c5b" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">252,934</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aabb2d0f-7af3-4147-aaf8-debaed5d905a" contextRef="C_3efdbd7b-4530-4e1b-83f1-bdafb2ce9c5b" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">66,559</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8e9a0cb5-1ebe-4d90-ac3a-1dd64fd6a77d" contextRef="C_3efdbd7b-4530-4e1b-83f1-bdafb2ce9c5b" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">186,375</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_f7401c1e-127a-474e-bd50-5ec04e80b2b8" contextRef="C_3efdbd7b-4530-4e1b-83f1-bdafb2ce9c5b" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1d45cec9-e472-41aa-a8ba-49ce4434e9fc" contextRef="C_6984f321-4383-4253-8341-3fe236da2eea" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,682</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0d47e3f4-0521-44bc-86a3-6d8efb13885d" contextRef="C_6984f321-4383-4253-8341-3fe236da2eea" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,319</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_af143e9b-6eec-4069-b701-21379658b945" contextRef="C_6984f321-4383-4253-8341-3fe236da2eea" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,363</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_bbc62308-1144-4e79-9f8b-44033e212522" contextRef="C_6984f321-4383-4253-8341-3fe236da2eea" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other intangibles</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_80e1ca8f-c759-4ba7-ae13-a46b294b6cd5" contextRef="C_04a7b57c-8c1a-4007-b961-615aab61ee62" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,811</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2b6172ab-c75d-41e0-8c7c-5906de851de8" contextRef="C_04a7b57c-8c1a-4007-b961-615aab61ee62" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,044</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dcee1aec-0681-4be1-a634-4dcd85198b47" contextRef="C_04a7b57c-8c1a-4007-b961-615aab61ee62" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">767</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_eba39851-425a-4ce8-ba09-18043bc00ecb" contextRef="C_04a7b57c-8c1a-4007-b961-615aab61ee62" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total finite-lived intangible assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_52190794-cdb1-42b2-8cfd-588d0a47fc8e" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">454,130</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_32b8861a-6e94-49f3-a022-29fa383f453b" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">101,154</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8b959e2-701e-43bb-b0a5-037c955b6517" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">352,976</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_538a4f03-e52c-4db3-9898-70c75c3748c4" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Indefinite-lived intangible asset:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_25848cb8-6674-4e01-9983-4dd3fba233a8" contextRef="C_6984f321-4383-4253-8341-3fe236da2eea" name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">700</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_880699e5-7e4d-43a9-9e46-715712246c09" contextRef="C_6984f321-4383-4253-8341-3fe236da2eea" name="rgen:IndefiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">700</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total intangible assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8af4034d-c00e-4cd1-b182-c134d49e500d" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:IntangibleAssetsGrossExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">454,830</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b2dd32cd-4ea6-41a0-8270-9a9caf134927" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">101,154</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1c402188-c197-4af1-b4f7-1e4196c4b77b" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">353,676</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">105</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amortization expense for finite-lived intangible assets was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d2b561b6-4d89-4280-9584-7015cd0da34c" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:AmortizationOfIntangibleAssets" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">31.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e2a0ae2c-a6b5-4e7f-90af-e2e30c52ffb2" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:AmortizationOfIntangibleAssets" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">27.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fb0567e1-64a1-41ed-8505-309ddb0dc61d" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:AmortizationOfIntangibleAssets" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">22.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the years ended December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_4db271f3-590a-4f6d-b75b-a0d49c48fe31" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" escape="true" continuedAt="F_4db271f3-590a-4f6d-b75b-a0d49c48fe31_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, the Company expects to record the following amortization expense (amounts in thousands): </span></ix:nonNumeric></span><span style=""></span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_4db271f3-590a-4f6d-b75b-a0d49c48fe31_1"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"/>
        <td style="width:1.94%;"/>
        <td style="width:1%;"/>
        <td style="width:15.823%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortization</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Expense</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_225a6c1d-3482-4249-b070-c4301593b3c1" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">34,314</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2025</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_da8ad07d-134e-434f-976d-1e2575e86340" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,879</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2026</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5ec181cc-e3a4-4bb4-90ff-069528e9da2b" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,524</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2027</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_573fd9e1-4915-4b7d-966d-df8d17d030a5" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,421</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2028</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_405f52cd-9bde-4300-93d3-499f860f7460" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">32,689</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2029 and thereafter</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ce8d1c9b-6023-4fab-9b64-e98afd4a3239" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">231,959</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_06acafe6-d8d2-4537-b219-626d22b273d1" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">399,786</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div></ix:nonNumeric></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ba6f55f4-bcc1-4261-9282-b6bdfe4fb641" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:SupplementalBalanceSheetDisclosuresTextBlock" escape="true"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">10.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Consolidated Balance Sheet Detail</span></div></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_46ee07f5-63ae-42b5-ba15-ee386b38e366" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Inventories, net</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories, net consists of the following:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"/>
        <td style="width:1.62%;"/>
        <td style="width:1%;"/>
        <td style="width:12.883000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.62%;"/>
        <td style="width:1%;"/>
        <td style="width:12.883000000000001%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Raw materials</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a7f9a2d-9c9a-493f-90d4-5688ba12e2d1" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:InventoryRawMaterialsNetOfReserves" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">123,598</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d4838451-db01-4661-b0d2-275d31d8babe" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:InventoryRawMaterialsNetOfReserves" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">149,438</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Work-in-process</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_80ba18fa-aa81-42fd-bc26-9eda51f879e3" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:InventoryWorkInProcessNetOfReserves" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,492</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_02d8d590-9abf-451f-ae45-e39377769206" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:InventoryWorkInProcessNetOfReserves" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,183</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Finished products</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1d8fa0a9-6a71-43d0-8b8f-ea7e09947e26" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:InventoryFinishedGoodsNetOfReserves" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">74,231</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d52b627a-e81a-4d64-9151-bbd9e93384e3" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:InventoryFinishedGoodsNetOfReserves" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82,656</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total inventories, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d5464aa0-e00c-4410-95e6-bc5b44e6115f" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">202,321</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c12129fb-2e15-4aca-96c6-f027cfc324a4" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">238,277</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_15b7ab1b-4631-498c-9089-43b446f93479" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Prepaid Expenses and Other Current Assets</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prepaid expenses and other current assets consist of the following:</span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"/>
        <td style="width:1.62%;"/>
        <td style="width:1%;"/>
        <td style="width:12.883000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.62%;"/>
        <td style="width:1%;"/>
        <td style="width:12.883000000000001%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment maintenance and services</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_50ceae2e-56b0-4856-9030-64f46de79d64" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="rgen:PrepaidServicesAndProfessionalFees" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,605</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d2e02c6b-4ce1-4c70-ad8b-b5ca9a985685" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="rgen:PrepaidServicesAndProfessionalFees" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,135</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid income taxes</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ab585211-f909-4de5-9338-ce051d67b021" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:PrepaidTaxes" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,229</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c427090c-b145-464c-ab61-f8351ad179d3" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:PrepaidTaxes" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">519</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid insurance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c52e1e97-8e8d-43bd-a952-db3158805e70" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:PrepaidInsurance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,087</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d0860f63-1af6-47b8-ba2a-ea85ea333980" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:PrepaidInsurance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,909</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4081a096-fb0e-4738-8eb8-5b5bdf0bab8a" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:OtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,317</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_76dc7e2b-8c1f-4034-bc24-f6813beae15b" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:OtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,274</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total prepaid expenses and other current assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7863ca66-d98e-4685-9fce-a3da2492ed41" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,238</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_36317ee4-d3ca-4ca0-bca1-1e4a3a474f13" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,837</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">106</span></p></div>
       <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude></ix:nonNumeric></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_77a6d079-8b5a-4c83-8334-358f45d3e67b" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:PropertyPlantAndEquipmentTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Property, Plant and Equipment</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property, plant and equipment consist of the following:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"/>
        <td style="width:1.62%;"/>
        <td style="width:1%;"/>
        <td style="width:12.883000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.62%;"/>
        <td style="width:1%;"/>
        <td style="width:12.883000000000001%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Land</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a32ce383-026e-416a-a445-65817af7585f" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:Land" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">992</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6ea00630-f64d-475a-bbf8-169844e82afd" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:Land" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,003</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Buildings</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b0c703d4-3fae-40f7-a084-f6e78a9fe2b2" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:BuildingsAndImprovementsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,667</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_72923e58-1496-43d5-b598-169147224bcd" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:BuildingsAndImprovementsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,599</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Leasehold improvements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9b619b36-1c2c-48b4-9426-f5ad92bce736" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:LeaseholdImprovementsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">126,663</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9deb5f27-f699-4cab-96fe-4a2a7b26edb2" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:LeaseholdImprovementsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115,672</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b97832e3-6ed3-45a1-849c-676a9ddb166e" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:MachineryAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">114,606</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7b53d443-131e-49e6-a6e4-96da5af4fcff" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:MachineryAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">94,613</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Furniture, fixtures and office equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c6cf3da-d45f-4a33-ad7d-ba825232d381" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:FurnitureAndFixturesGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,077</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a1869884-52f3-499a-86bc-575f6522a0ac" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:FurnitureAndFixturesGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,307</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Computer hardware and software</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1f9c8c93-0623-4bb4-8d4b-7721a32abf08" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:CapitalizedComputerSoftwareGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,528</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_525bf293-afff-4d64-b54c-e20cafa69dcc" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:CapitalizedComputerSoftwareGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">29,813</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Construction in progress</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f6b839a6-e7b4-4ada-8e6a-2ffad3499f4a" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:ConstructionInProgressGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">47,086</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d5bce687-98cc-4169-828d-5b073e8a80d5" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:ConstructionInProgressGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">31,553</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c4a701e-ddd7-48e3-a9a8-f1e82ec59406" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:PropertyPlantAndEquipmentOther" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">544</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9977c13f-3d1c-422c-a076-423fed3c764c" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:PropertyPlantAndEquipmentOther" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">420</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total property, plant and equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_67d2c54d-b756-4c6d-a077-fe151091913c" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">336,163</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d7452b5c-5474-4a14-aed1-c6e2c35f697f" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">282,980</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less - Accumulated depreciation</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3e0e4f23-5a66-49f1-858b-1be5dec1e4f9" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">128,723</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b23e86d3-98a5-4aff-b40b-db2a4d8e36d1" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">92,307</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total property, plant and equipment, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9a450bde-ad6f-41da-9a9f-4320ba87086f" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">207,440</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_10daeaad-ff68-47ed-8b8a-358069933cc6" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">190,673</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Depreciation expense totaled $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aeda621c-3688-42e4-a46f-5200ed110e15" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:Depreciation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">37.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5896bd6f-9ca9-453d-b328-d5fcf62b0255" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:Depreciation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">23.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_79e23792-be97-48d3-84d7-073824e1334d" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:Depreciation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">16.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in the fiscal years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_f40266e0-99b0-4ccc-9c42-5b2eaaa13a62" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued Liabilities</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accrued liabilities consist of the following:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"/>
        <td style="width:1.62%;"/>
        <td style="width:1%;"/>
        <td style="width:12.883000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.62%;"/>
        <td style="width:1%;"/>
        <td style="width:12.883000000000001%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Employee compensation</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9f4912f3-9431-44ec-ba98-742ce1dd20f9" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">16,660</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2cdd360a-187f-4b00-9500-33fa51355a90" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,522</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred revenue</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bd7f66fe-bb69-4f76-a8ec-4b973c0d07df" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:DeferredRevenueCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,287</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1db723ed-aef4-4a9f-b3b8-b29f8553a6eb" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:DeferredRevenueCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,283</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income taxes payable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_01b50eb1-ba6d-45ff-977f-5ced5eb1a07b" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:AccruedIncomeTaxesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,814</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a536534-ae92-4475-8874-2136ea4f7b6c" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:AccruedIncomeTaxesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,459</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_28dc58c4-effa-495b-a572-1c732212423b" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:OtherAccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">16,772</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_320b45d4-30d8-4a83-8f92-a716b7df4d1e" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:OtherAccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,856</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total accrued liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c91cc8e1-fed5-4ff5-8f51-17b750fb6c03" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:AccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">50,533</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_47388b4d-3f9d-4ed7-a67c-70c1f2e5f274" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:AccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">71,120</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div></ix:nonNumeric></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_f8bc11a5-4cf9-4050-9a33-4c164883b781" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeTaxDisclosureTextBlock" escape="true"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">11.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Income Taxes </span></div></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_421a0647-2d15-4a9b-839c-2175d9d3589c" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of income before income taxes are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.477%;"/>
        <td style="width:1.399%;"/>
        <td style="width:1%;"/>
        <td style="width:10.776%;"/>
        <td style="width:1%;"/>
        <td style="width:1.399%;"/>
        <td style="width:1%;"/>
        <td style="width:10.776%;"/>
        <td style="width:1%;"/>
        <td style="width:1.399%;"/>
        <td style="width:1%;"/>
        <td style="width:10.776%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Domestic</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_227354e1-f159-4c87-be91-6e04ea33431c" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">17,601</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_812ed085-5327-43a0-9d1c-644acec84533" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">153,446</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_65a6fa1f-c75f-427c-bff2-0c84d6e57198" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">81,984</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7f052e8e-d37c-444a-8329-4b627db2ebe6" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">81,733</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fa9c50be-982c-4b96-9ec6-4498308af73b" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">65,694</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7e778086-b7fc-4d12-9e23-2c1bf1552837" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">71,559</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_97a3b3e9-31f1-4434-a7ec-b5cb6c788b6f" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">64,132</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4818a312-3805-4ac5-a206-1c8019e29252" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">219,140</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_95071b6d-f65a-4ad0-8039-5240c164befb" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">153,543</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">107</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_0afc28b5-8c88-4ca8-8b8e-6f3656b06946" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of the income tax provision are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.477%;"/>
        <td style="width:1.399%;"/>
        <td style="width:1%;"/>
        <td style="width:10.776%;"/>
        <td style="width:1%;"/>
        <td style="width:1.399%;"/>
        <td style="width:1%;"/>
        <td style="width:10.776%;"/>
        <td style="width:1%;"/>
        <td style="width:1.399%;"/>
        <td style="width:1%;"/>
        <td style="width:10.776%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Components of the income tax provision:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1133b158-b7d3-4b37-89d3-bc4ad254a52d" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:CurrentIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,238</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cbda53f6-9ed9-4e51-a9eb-ad86b2ed8f1a" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:CurrentIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">34,800</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_92158759-5ae9-4d86-849e-a934d178346f" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:CurrentIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,166</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9ef3befb-1eeb-4bdf-89d5-c2496dfff4a1" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:ProvisionForDeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,317</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9ec2dfa4-986b-4757-bf5d-b5d69a8bd184" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:ProvisionForDeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,619</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bc582f8d-9b3d-4894-be6d-2c14624b616d" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:ProvisionForDeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,086</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4d9dac0a-b4c4-4b13-b8e6-f85b0009d8c8" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,555</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b37ac0f4-a3de-45e6-9c1f-b658add27952" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,181</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ceb0f9d7-a47c-40ab-a6a8-7bece3eff047" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,252</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Jurisdictional components of the income tax provision:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Federal</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ecca18d0-5552-4223-902f-edd1b44972f7" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,512</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_182c2d43-4528-4536-9453-44a8c921f111" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,662</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4932831e-6366-406b-944e-fcfe571c646d" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,321</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">State</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_14cdb30f-2424-4b6c-bc34-28627ccda487" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">142</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eba74a99-38a3-4af0-b0d6-cfe4f0f44506" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,381</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_22811fc3-079a-4845-a776-c50ff1d2681a" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,251</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ef7eb574-38a7-4738-9c56-bb4c09bafba3" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">18,901</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e7c4d460-6d90-4fd1-9d9f-d0ffc1e12d4d" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,138</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1ca03ade-75c1-4819-bc43-86e77d6869e3" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,680</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cf63d7fb-49ed-4ab2-9589-ac19c0c47b52" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,555</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_682b9e79-0536-4cad-b8d3-7af9a7ee63d0" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,181</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_acf74ca7-a27e-4638-b825-c8865269053e" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,252</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company had federal net operating loss carryforwards of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_40cd853f-923a-4d6d-bb22-7b59055dadee" contextRef="C_fb140d0a-a258-4c33-ac33-c345a08de668" name="us-gaap:OperatingLossCarryforwards" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">31.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, state net operating loss carryforwards of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_59d49da5-9658-4d91-ad1e-5b347fe2102f" contextRef="C_036177bb-d040-407e-a70e-3659831e4ff4" name="us-gaap:OperatingLossCarryforwards" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and foreign net operating loss carryforwards of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7b750a7c-29e6-48d4-94ec-d54c962243fb" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:OperatingLossCarryforwards" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">4.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The state net operating loss carryforwards will expire </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_e2e1cfea-28fb-4214-adad-9d70613d78a7" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:OtherInformationPertainingToIncomeTaxes"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">at various dates through 2043</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, while the federal and foreign net operating loss carryforwards have unlimited carryforward periods and do not expire. At </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company had federal and state business tax credits carryforwards of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a829a9e1-b562-4fb7-8f79-3fb139ce20b7" contextRef="C_63eb4483-ae33-494a-ab2b-5e4efc3f40b7" name="us-gaap:TaxCreditCarryforwardAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">5.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million available to reduce future federal and state income taxes. The business tax credit carryforwards will expire at various dates through 2043. 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 shareholders.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_0d43e137-a929-41b6-afd5-f97a0cafd988" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of deferred income taxes are as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"/>
        <td style="width:1.62%;"/>
        <td style="width:1%;"/>
        <td style="width:12.883000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.62%;"/>
        <td style="width:1%;"/>
        <td style="width:12.883000000000001%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax assets:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_79cf6420-3cd3-4db1-95f5-c4525b094413" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,120</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3acc519f-b4a3-48d6-818a-e822ac697e9e" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,323</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating leases</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_da05403f-0a47-43ef-8e48-cd0f8a45fd7e" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="rgen:DeferredTaxAssetsOperatingLeases" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30,727</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_642348ad-18ed-4be8-bfa2-439ba5bd7be5" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="rgen:DeferredTaxAssetsOperatingLeases" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">31,564</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Capitalized research and development</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2482c20c-98f5-4f7a-a1ff-491006f52a62" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,568</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d8846a98-a600-4621-8be9-1a733ebf7d7f" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,102</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2b75a50e-0e14-447d-8e10-a86e70baac03" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:DeferredTaxAssetsInventory" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,131</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_445ba8a5-7c58-4e66-8833-f53147dfe69f" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:DeferredTaxAssetsInventory" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,983</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net operating loss carryforwards</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3ab7bd2c-ef1a-4c5e-977f-a69292d61f9c" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,578</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d19e92e9-52f1-427f-8175-23c9eb9063e8" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,808</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Business tax credit carryforwards</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_38981a9b-0dc8-4ba0-8516-c4e87ff937b2" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwards" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,697</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_41829f51-f01a-4bc6-9639-1be3733348da" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwards" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,639</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e3109832-7c73-458b-93bf-c453db923566" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,314</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c3aff23f-61a9-499c-a9e3-080f716c86ed" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,440</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total deferred tax assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a82175a3-fb75-454b-9dc2-904a1398904d" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:DeferredTaxAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">81,135</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9ce5c648-0210-4e9f-a2cd-1c958ccf5aad" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:DeferredTaxAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">68,859</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less: valuation allowance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c2ffea1b-6209-41e0-9129-445248116668" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:DeferredTaxAssetsValuationAllowance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1c78c6ef-a034-4515-8bd0-b223d8bda2a7" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:DeferredTaxAssetsValuationAllowance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net deferred tax assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a38fbb3-b2e8-4ffe-a03a-dc2fed55af7a" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:DeferredTaxAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">81,115</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ccabf277-6ec3-42e1-ab89-3f1f808f4368" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:DeferredTaxAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">68,840</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liabilities:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Fixed assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2ad5669e-31f2-49c2-a984-0e7ebfa75b9e" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="rgen:DeferredIncomeTaxLiabilitiesFixedAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">17,716</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a39d523a-b470-43bd-ade9-5489520a2ea6" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="rgen:DeferredIncomeTaxLiabilitiesFixedAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">18,965</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquired intangible assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6272d0bc-2b2a-4178-95d3-a63fd474e3d9" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">56,956</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_172ddbbe-2565-480f-9002-cb85c57607fd" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">43,549</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9b43eec3-7a6b-4271-9ca8-a80a7c8bb0f0" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">26,373</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_143bc527-9248-4c43-bf34-2bbec2ffd6ad" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">28,486</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Debt discount</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6d26f932-6599-45b2-9bc9-4c5ad574b9d5" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="rgen:DeferredTaxLiabilitiesDebtDiscount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,006</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_13f4c332-eb44-4903-ac74-6e649afe20e0" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="rgen:DeferredTaxLiabilitiesDebtDiscount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total deferred tax liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bc3da175-14f9-48b3-973e-1016db53ba2b" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:DeferredIncomeTaxLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">120,051</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a25768db-7854-4f49-92ec-04df2677f79b" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:DeferredIncomeTaxLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">91,000</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total net deferred tax liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9c7b8446-921d-4d89-8edb-11f673af4f70" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:DeferredTaxLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">38,936</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_313782a7-6821-4b7b-a99b-1770ecc348a9" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:DeferredTaxLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,160</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:1.667%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The net change in the total valuation allowance for the year ended December 31, 2023 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was an increase of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d8791387-d87d-496d-81da-317fb99d6e49" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and a decrease of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a1b8a51f-d412-46a7-b8aa-58fe6a78e15a" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">108</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_cb476924-3e45-417c-bd86-0657bd48778d" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" escape="true"><p style="margin-left:1.667%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The reconciliation of the federal statutory rate to the effective income tax rate for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 is as follows:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:92.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:33.94%;"/>
        <td style="width:1.04%;"/>
        <td style="width:1%;"/>
        <td style="width:7.54%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:8.44%;"/>
        <td style="width:1%;"/>
        <td style="width:1.04%;"/>
        <td style="width:1%;"/>
        <td style="width:7.54%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:8.44%;"/>
        <td style="width:1%;"/>
        <td style="width:1.04%;"/>
        <td style="width:1%;"/>
        <td style="width:7.54%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:8.44%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="22" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="22" style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except percentages)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_21323d6c-6893-4f97-b246-91f1bb204408" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">64,132</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f1cc0231-94f6-4839-9b40-37580ff986cd" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">219,140</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f57808c0-7730-49fb-8807-d158fca35835" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">153,543</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected tax at statutory rate</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_03ef5306-ee1b-4590-bee8-bfc38b440adb" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,469</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_42f19b65-9dea-43aa-96a3-3ba56e1e2081" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">21.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6325828c-39cb-469f-ade7-d6d8b8f2c564" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">46,020</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4dbbe09d-ed2e-45b6-8654-1ddbe02bd9a2" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">21.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_04d3a968-8a8c-49d6-a7f5-bb6182f8396f" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">32,247</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c1dec07-47eb-4ce2-9351-f62dfd48772a" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">21.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjustments due to:</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Difference between U.S. and foreign tax</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fe95f328-15f0-4653-9846-60d48d3e611a" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,084</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_016fadcf-115d-4562-b114-f4cbed3e3ea8" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">1.7</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7c7bb7dc-ba0f-4f2f-ace2-f1a283e3c6f6" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,024</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eb0e98a0-91b3-416d-ac9c-5888af55d059" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.5</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0066f9d3-de2c-4f08-8921-aa26540f5a2c" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">530</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5716104f-16ef-4c09-8095-62cbbd4de41b" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.3</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">State income taxes</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5256898b-29c7-44a2-ad5b-8bb3a6aaa4f2" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,387</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4cd20c9a-465f-4e66-8ed9-6609016c3a2d" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">2.2</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_40a0c14e-3892-4a08-b382-c1c3376f6853" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,509</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c4dfe7e3-7e2b-4515-8431-25ca6b326730" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">1.6</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_08cc630b-fcc2-46c8-ac59-a08fcbc3430e" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,462</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1937d615-03fd-4c40-9141-a8cf62d74621" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">1.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Business tax credits</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c076df9e-d84f-4919-b838-f852c6a71b2c" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeTaxReconciliationTaxCredits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,522</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c986bc15-1d2a-4158-8a1c-837f40f82c91" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">7.1</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_627a50de-0739-4dde-b0a3-2cb81109cdfe" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeTaxReconciliationTaxCredits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,139</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a20b7379-86a7-441f-9f32-82949626819d" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">2.3</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9cc43490-816b-48f5-9b33-9925308a23fd" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeTaxReconciliationTaxCredits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,239</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a5c564f3-873c-4ab2-a06f-abe59c2f570c" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">1.5</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6a01ee73-f916-4c74-96ad-04270d6498c4" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,461</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_add42cb8-5808-403d-81aa-e34f0829067a" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">3.8</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5665a8d4-6783-4736-a083-7b6534509ec9" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,638</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_14f1a52e-385a-4ce8-ae50-a530b4ddefb7" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">2.6</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d51f3dfb-55ee-4749-b640-fbf10e9c8fb3" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">9,049</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_431de6bd-856b-498c-9467-d5f9a11f1303" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">5.9</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">U.S. taxation of foreign earnings</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cfa6593f-f6fc-4561-96d4-eeae0842c54a" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">343</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3f345b95-5e39-4104-8b8e-06a9ae3ec0b9" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.5</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8008cb9-aabf-4ca7-b85a-bf0dd886f8ec" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">83</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b5604079-ba31-4a76-a9bd-b43867713704" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2f9fb734-0b68-4271-8d01-936c263f494c" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5c40f62b-dc4a-4e16-a318-865fcfff7349" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign-derived intangible income</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_568c2eda-cfcd-48ef-a154-bb4ac3332fd2" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">88</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_614e7182-f13c-4e3f-be95-018755c58bdf" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.1</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0e90b245-214d-497a-9e02-4cad440ea890" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,042</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_85e128e6-4e02-4bb5-8a49-c43cdd820bfa" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">2.3</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_803fcc78-ebd7-4650-a453-5c4c9ccd32c1" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,547</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eb053d74-6865-47f1-aa00-3da47bfaec6d" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">1.7</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Executive compensation</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e3cc1253-28a0-4a4a-a51a-5791dc521a49" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,084</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6a9f1fd5-1df0-43d5-adac-08c19732111e" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">4.8</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_da483ecc-deb3-4378-a58a-f38382f41190" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,441</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2f44f2cc-8220-42d9-9cb8-6f86f2b424a4" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">2.5</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9041e389-5b40-4c36-82d9-63e8074b0b64" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,397</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f874eefa-07b9-4423-a338-7c8db46073ed" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">2.2</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1370f512-5f9f-41e8-a6fe-cc27530c5eb5" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6,412</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0abf171e-ce91-4ee0-9d25-122bffe2e093" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">10.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_648a5c69-bbd7-4897-adfa-0ee511703e3f" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6,033</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f41aea3a-6e4f-4d85-8fd8-ea6bd501e70d" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">2.8</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fe10d62e-c4d0-4d57-811c-dde9cc7029c0" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,232</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_304207ea-fc45-47b9-a0a1-332a32efaff9" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.8</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_27327292-c41c-4643-a870-327898850165" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,634</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_75f407d6-1103-48a5-97d4-f3a9fa7da00e" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">4.1</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8d16296d-15a0-4e7c-90ef-4c846e39e217" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6f12cdc5-8c53-4dbb-890f-de17c09714dd" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_33976883-247b-43ce-af98-22c7cf42b17c" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d73b47b7-6a4b-469f-9bc0-f04c9b35cb7c" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Debt discount</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_60b379c8-7d6a-4f54-8173-9457d340335a" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">16,650</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3524acf2-51c5-46d9-8b39-a97c004a3e9a" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">26.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c6ca4b16-5b0d-4b73-871a-bd1120f124a6" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c20990d3-dc3b-44cd-b49c-462edf2c9cc4" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_83226891-3091-443c-a284-491550b288d1" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_31d6d5a6-acae-47b0-a198-be88bf2e7a0f" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign exchange loss</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2fb1a677-f777-4b23-8523-2f3d91c2d10e" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,288</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3f92fa2e-25af-4bf5-9113-0df46a073395" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">3.6</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_67d38567-4cc5-4cc6-8f7d-853abfba4a61" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c1f6cd4b-1ea4-4032-a171-58d39d72ceea" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8d0a9fb8-c37b-47f8-a5e8-a6abc385f934" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_36c2de16-ceb0-4a9e-a0a6-f05e77636683" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Uncertain tax provisions</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_254ba507-a6c8-473f-b3c9-8e79081ac4f3" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeTaxReconciliationTaxContingencies" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">165</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_83ac89e8-f0be-4da5-b273-be91135a7c89" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.3</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f464619a-05e5-4456-a983-4e70614454e0" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeTaxReconciliationTaxContingencies" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">234</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bda695db-fea3-4d3d-acc7-fe1a4fa3aa09" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.1</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_41c04496-b5ee-43df-ab25-76ec7989242c" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeTaxReconciliationTaxContingencies" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">443</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6ad33765-99a1-4ce3-addc-6297ecb88b6b" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">0.3</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Change in valuation allowance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b989eaed-2810-4a4f-b63e-bde9de5606cb" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a05a4a61-de0e-4b3b-bc1f-f16508180fa1" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b14606b7-f06f-4a45-be04-5059990682e2" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">688</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9104df36-e8c5-4182-8166-dbfa8a7b082f" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">0.3</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f02883bc-a20f-4344-a627-4a12e377159e" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">48</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_93be285f-ce2a-4140-838b-b69df4365f8e" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Return to provision adjustments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b4cbd895-7b9d-4e66-8e93-00699f1d2060" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:IncomeTaxReconciliationReturnToProvisionAdjustments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,255</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bb411436-d574-4e9f-8ffb-2e0d73594a91" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">2.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8332e95a-c876-49dc-ae5e-ae4c22c2e302" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:IncomeTaxReconciliationReturnToProvisionAdjustments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">498</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3782396b-c9d7-4458-8160-12a1de587b63" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">0.2</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d49224be-86dc-4c7d-9aee-2705f52aed47" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:IncomeTaxReconciliationReturnToProvisionAdjustments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">50</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9b95fb31-a0a6-446c-b77c-1209e1224b38" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c0d5914-2333-42db-8fd9-50f4ed5f0c7f" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeTaxReconciliationOtherReconcilingItems" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">765</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_81e5c116-962b-4fa9-9737-b6653e743a04" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">1.2</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6f80d22c-3a10-4770-a767-04c2851e447a" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeTaxReconciliationOtherReconcilingItems" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">92</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a6260519-abfa-42b7-8d2c-d7f001dc29ce" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_94752ace-78bf-46cd-afbd-bd00d364f55f" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeTaxReconciliationOtherReconcilingItems" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">730</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7db51c91-638e-4538-82e4-12fee0c963d2" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.5</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax provision</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e6573e76-2f80-4642-915b-e96ee6de7bb8" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,555</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_63d5a4a6-8ed6-43e1-9e91-ce912f4dbe57" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">35.2</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_20af360d-410f-43bb-ad88-07bd68ad2917" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,181</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8b4e21ae-3ab3-4612-b5e5-ae89eb110fc2" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">15.1</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0c18a771-cbec-487e-bd33-5c10f2c94d81" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,252</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_595684ca-3a19-49a6-a26b-98b24897382c" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">16.4</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_810d633e-6e3a-45fa-b197-cb3507a42b8e" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:SummaryOfIncomeTaxExaminationsTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:78.98%;"/>
        <td style="width:2.06%;"/>
        <td style="width:18.96%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Jurisdiction</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fiscal Years Subject to Examination</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">United States - federal and state</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><ix:nonNumeric id="F_a8bd725f-a5b2-4f8b-9a9a-1324e9b450a9" contextRef="C_bdeb8b5b-0869-4604-8c0c-c230625200d4" name="us-gaap:OpenTaxYear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2019</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><ix:nonNumeric id="F_6811ca7c-3828-421d-8439-06342b88735b" contextRef="C_b63785aa-42cf-4b22-99e6-0f65fe08ae7c" name="us-gaap:OpenTaxYear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2023</span></ix:nonNumeric></span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Sweden</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><ix:nonNumeric id="F_744a9e9d-6dea-4629-8dda-fe65c3f9c899" contextRef="C_fbf962af-3518-49a4-acd6-7423efa30a24" name="us-gaap:OpenTaxYear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2018</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><ix:nonNumeric id="F_cd61a488-1c57-47c4-b3f3-b21ca342bbc4" contextRef="C_be5ba352-1c27-44a1-ae55-9d65ee21f44a" name="us-gaap:OpenTaxYear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2023</span></ix:nonNumeric></span></p></td>
       </tr>
      </table></ix:nonNumeric></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_d703efd3-9a49-499d-9c5c-7b3be108898d" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following is a tabular reconciliation of the total amounts of unrecognized tax benefits:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:65.266%;"/>
        <td style="width:1.701%;"/>
        <td style="width:1%;"/>
        <td style="width:13.665000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.701%;"/>
        <td style="width:1%;"/>
        <td style="width:13.665000000000001%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of gross unrecognized tax benefits, beginning of period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_adc52275-5da1-4a50-8164-81127f6c9767" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:UnrecognizedTaxBenefits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,996</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2fbaaee4-a9a7-485c-9535-2d6d12742f48" contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af" name="us-gaap:UnrecognizedTaxBenefits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,786</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of increases in unrecognized tax benefits as a result <br/>&#160;&#160;&#160;&#160;&#160;of tax positions taken in the current period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3f92bd8d-398b-460b-ae30-3bfe398e79a3" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">178</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_561829c4-f7b0-423b-8509-b3801640d2d7" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">146</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of increases in unrecognized tax benefits as a result <br/>&#160;&#160;&#160;&#160;&#160;of tax positions taken in the prior period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_28f692c7-e8d8-4f4e-9f7a-934e9d756677" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">53</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dc81ab09-efaa-4612-b807-0d9dd2a31179" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">64</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of decreases due to release</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9a1c155e-060c-4cc0-85ad-6c55afdb63c8" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">88</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f40116a4-1ee9-4990-a68c-e0a5521c23a0" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of gross unrecognized tax benefits, end of period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a52e39c0-bbbd-412a-8b5a-2b80e9c8bff7" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:UnrecognizedTaxBenefits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,139</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_58a77581-96e4-4cfc-a520-7a17c6169f16" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:UnrecognizedTaxBenefits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,996</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Included in the balance of unrecognized tax benefits as of December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, are $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_71915a3d-04d4-4eec-9f39-d5e6eef52a7c" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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. In 2023, a net expense of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2e604d7a-e40d-45b4-99d4-9b47ba282c20" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, was recorded to the income tax provision related to interest and penalties while in 2022, a net expense of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a50d830-c8ef-4bdf-846d-ec341d0bebbc" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was recorded. The amount of interest and penalties recorded in the accompanying consolidated balance sheets was approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_732ad6e5-8548-4877-972d-d3ee21279c9f" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">67,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_df8ab0b2-f61e-408c-9fda-50af893019f5" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">52,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. In the next twelve months, it is reasonably possible the Company will reduce its gross unrecognized tax benefits, excluding interest by up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_50e14485-453e-48ff-8a4f-28728bad5a1d" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million due to expiring statutes of limitations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2021, the Organization of Economic Co-operation and Development announced an Inclusive Framework on Base Erosion and Profit Sharing with the goal of achieving consensus around substantial changes to international tax policies, including the implementation of a minimum global effective tax rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b15a0bbf-5720-44bf-a71b-1109f05ef99b" contextRef="C_8d083a6d-09d3-4820-abd3-7832cd8cf710" name="rgen:PercentageOfCurrentFederalTaxExpenseBenefit" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">15</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We continue to evaluate the impacts of enacted legislation and</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">109</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">pending </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">legislation in the tax jurisdictions in which we operate. While various countries have implemented the legislation as of January 1, 2024, we do not expect a resulting material change to our income tax provision for the 2024 fiscal year.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company has accumulated undistributed earnings generated by its foreign subsidiaries of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c1cd6721-7550-47b4-a995-5e50f6c44c05" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:UndistributedEarningsOfForeignSubsidiaries" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">212.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. Because $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1835e0af-5bf1-4bfc-aba4-ac321c147dff" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:ForeignEarningsSubjectToOneTimeTransitionTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">5.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of such earnings have previously been subject to the one-time transition tax on foreign earnings required by the Tax Cuts and Jobs Act enacted in December 2017, 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 </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company has not provided for taxes on outside basis differences of its foreign subsidiaries as it is not practicable and 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.</span></p></ix:nonNumeric></div>
  <div><ix:nonNumeric id="F_2d3350d7-40ee-4d52-8e90-256c51516298" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" escape="true"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">12.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stockholders&#8217; Equity </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Share Repurchases</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2023, the Board authorized and approved a stock repurchase of up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_68548776-2c16-4b95-869d-c89fbe5e8f01" contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">25.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the Company's common stock concurrent with the issuance of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_17a5a85d-7161-4a93-b5c5-6b63d9a0d6b7" contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">600.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2023 Notes. See Note 14, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for more information on the issuance. The Company used $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1cc611fe-91b6-4124-bd65-7390f43372c5" contextRef="C_e53b0c91-806b-4591-8896-50dab997d73d" name="us-gaap:ProceedsFromIssuanceOfCommonStock" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">14.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the proceeds from the issuance of the 2023 Notes to repurchase </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fcd37a5d-c06d-40e2-88d7-4a4beaef8ac0" contextRef="C_e53b0c91-806b-4591-8896-50dab997d73d" name="us-gaap:StockRepurchasedDuringPeriodShares" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">92,090</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares at a price of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_595d56bd-3047-4dd3-80cd-cab17f982aa2" contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea" name="us-gaap:SharePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">156.22</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, including transaction costs, to offset the impact of dilution from the issuance of 2023 Notes and equity compensation programs as well as to reduce its outstanding share count. The Company has elected to retire the shares repurchased to date. Retired shares become part of the pool of authorized but unissued shares. The purchase price of the retired shares in excess of par value, including transaction costs, is recorded as a decrease to additional paid-in capital in the Company's consolidated balance sheets as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Option and Incentive Plans</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At the Company&#8217;s 2018 Annual Meeting of Stockholders held on May 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 </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b33bff56-cb5d-4561-a954-17feb6153340" contextRef="C_c0e1b61d-93ad-47b5-afb1-f12cf756b79e" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">2,778,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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 and 2012 Plan 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 </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aa24bec9-4e08-40bd-befc-411575b0ce73" contextRef="C_5df5f282-6844-4791-aeec-092ec52aeb06" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,671,408</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares were available for future grants under the 2018 Plan.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Issued for Earnout Payment</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In May 2023, the Company issued </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_72d9361c-491b-438e-b357-bb5a04496c44" contextRef="C_8e9550b1-18c8-4039-b3a4-5b158816fe0d" name="us-gaap:CommonStockSharesIssued" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">42,621</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of its common stock to former securityholders of Avitide to satisfy the contingent consideration obligation established under the Agreement and Plan of Merger and Reorganization (the &#8220;Avitide Agreement&#8221;) which the Company entered into as part of the Avitide Acquisition. See Note 4, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquisitions&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">above for additional information on the Avitide Acquisition and the contingent consideration. The shares represent </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9b6f8e37-4e43-4f7e-8916-c2cc9e6f0454" contextRef="C_8e9550b1-18c8-4039-b3a4-5b158816fe0d" name="rgen:EarnoutConsiderationEarned" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">50</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the earnout consideration earned in the First Earnout Year (as defined in the Avitide Agreement).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">110</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock-Based Compensation</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company recorded stock-based compensation expense of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a716a9ee-ad68-46d5-bad5-4aa193e73b57" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">25.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b5f9350d-ff05-4e1d-9aab-7641745c41fb" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">27.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6e252801-6bfb-4f31-8a21-34be63ad0793" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">27.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the years ended December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively, for share-based awards granted under the Plans. </span><span><ix:nonNumeric id="F_7e39bb34-93f9-426e-937b-22538b39d86e" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" escape="true" continuedAt="F_7e39bb34-93f9-426e-937b-22538b39d86e_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table presents stock-based compensation expense in the Company&#8217;s consolidated statements of comprehensive income: </span></ix:nonNumeric></span><span style=""></span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_7e39bb34-93f9-426e-937b-22538b39d86e_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.437%;"/>
        <td style="width:1.339%;"/>
        <td style="width:1%;"/>
        <td style="width:10.816%;"/>
        <td style="width:1%;"/>
        <td style="width:1.339%;"/>
        <td style="width:1%;"/>
        <td style="width:10.836%;"/>
        <td style="width:1%;"/>
        <td style="width:1.339%;"/>
        <td style="width:1%;"/>
        <td style="width:10.896%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0408e794-9069-4095-8026-413248fda0e6" contextRef="C_dc7d7eec-9f46-46e4-8509-341b45573209" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,933</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_528001a5-2073-445c-be3a-1b0346fa0666" contextRef="C_04b246ad-22b7-4909-956d-0b417823517e" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,525</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9ed3e4b9-daf6-4b2c-ad7b-967fccd83f1e" contextRef="C_141b94da-eb0e-4f0e-a7e2-89f465f22b1b" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,021</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4d51a81d-d114-4676-a24a-042a08f6d6ad" contextRef="C_b1008982-a0e7-42c3-8ebb-940699378d24" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,855</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cc7e862a-d08b-404e-b08c-ead77a577d40" contextRef="C_945aa599-c940-445d-9258-07a3bddba11c" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,622</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5e09c1fc-91e6-4fae-8c9c-86c4bd329d65" contextRef="C_b361b1da-071c-4210-8a38-ce6b99a79b49" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,856</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_66267ef5-26ea-401a-8b7f-a6edfb5e104d" contextRef="C_95397cde-e80a-4279-b4e9-cf10f1c35dd3" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,787</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fa7cc09a-e3d2-41a4-82b0-b0e3d670611c" contextRef="C_6a912e51-af00-4572-811e-2b5970f1a018" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,169</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_141b3b77-a14d-492f-a4ec-611c7d608433" contextRef="C_3b788741-5d93-4233-bf76-1f8ce2171673" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,623</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total stock-based compensation</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9187467b-ff5a-4774-acc7-fff74fc02031" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,575</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dfb13ac6-d27f-4e22-b707-aae23ddd0901" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,316</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_64f4c4b0-6446-4a5b-a8bc-457f63b8f9ef" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,500</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Options</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company uses the Black-Scholes option pricing model to calculate the fair value of stock option awards on the grant date, and measures stock-based compensation costs of stock options 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 recognizes stock-based compensation expense for options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted for estimated forfeitures.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_c524db63-7829-46c3-87bc-64104a9bc00f" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The fair value of stock option awards granted during the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 were calculated using the following estimated assumptions:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:51.27%;"/>
        <td style="width:1.6%;"/>
        <td style="width:14.643%;"/>
        <td style="width:1.6%;"/>
        <td style="width:14.643%;"/>
        <td style="width:1.6%;"/>
        <td style="width:14.643%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="5" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected term (in years)</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><ix:nonNumeric id="F_8dda5c80-34cb-4d38-b99e-aa3f68f8a74c" contextRef="C_04a162af-d019-45c7-ba8d-785db4be2cc4" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.14</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><ix:nonNumeric id="F_5da2e366-f7b1-47b3-ac79-898e0370066a" contextRef="C_97cd478d-6e58-4d36-ab63-87e2bef5f174" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></ix:nonNumeric></span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><ix:nonNumeric id="F_03b0384c-12ff-488d-8b7d-dd984da1d65f" contextRef="C_b98a2b3e-73d2-4e3e-ad92-46b13211758b" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.5</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><ix:nonNumeric id="F_db5ce470-5e7a-45fb-90e8-ba36f2f44614" contextRef="C_9757f996-2ce2-4412-8fbd-38b26bafaf36" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></ix:nonNumeric></span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><ix:nonNumeric id="F_92584495-b040-45d7-bbbc-2abc50b3d2a0" contextRef="C_0b61efd7-b157-442a-8cb0-f37e8914d5f6" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.5</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><ix:nonNumeric id="F_94da6364-7a18-486b-942a-04cf25420689" contextRef="C_5ad1494d-8984-40f9-a1cb-e139b09e9b9d" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:durday"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></ix:nonNumeric></span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected volatility (range)</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_54bd476f-b4cb-4ca9-8e2f-9d2f338a5dc3" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">44.78</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_af8daedc-d947-4dd2-a75c-d4fad5d66c93" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">46.58</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_67905fd4-4f40-424e-88d0-e6ea24d49649" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">41.44</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_50a1449a-c1f4-4ba7-a318-aff1e6265b69" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">43.96</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5ed6e57b-45ba-434f-82cd-ac04862bf358" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">44.57</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a3e55f15-e8b0-4d7a-8e24-d3be8fc8c553" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">45.27</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Risk-free interest rate</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_14892088-4ced-4fc0-b86c-58c00e5e40c7" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">3.56</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0db56184-5c57-4e99-a4ce-26ad7e674a43" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">4.71</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d3c2a695-3546-4edb-adb3-b9070ffad422" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">1.86</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a08f456e-bff7-4eac-a124-b5b1a7327b5f" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">4.07</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_18d56dca-57cd-4094-8fb1-9def62c7b83e" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">0.77</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_19a4db12-7a75-4e18-990d-ffc0d86bcb6e" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">1.07</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected dividend yield</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d8fc8490-fa36-4d90-bb8a-72b72eb64726" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2dbb3316-f1bd-4157-92ce-89fcac834654" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c4adae43-d381-4068-bbca-bcac74b8483e" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_b513f8b9-e9a9-4397-a12e-c02b75d11e0e" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information regarding option activity for the year ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, under the Plans is summarized below:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.11%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:9.662%;"/>
        <td style="width:1%;"/>
        <td style="width:1.22%;"/>
        <td style="width:1%;"/>
        <td style="width:8.942%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:9.662%;"/>
        <td style="width:1%;"/>
        <td style="width:1.22%;"/>
        <td style="width:1%;"/>
        <td style="width:9.182%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Shares</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>average<br/>exercise<br/>price</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted-<br/>Average<br/>Remaining<br/>Contractual<br/>Term<br/>(in Years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Aggregate<br/>Intrinsic<br/>Value<br/>(in Thousands)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options outstanding at December 31, 2022</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_36b573f2-f23e-4306-aca9-9fc3762f4cf4" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">609,965</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b7bfdb21-2ff3-4c77-9ea5-184d71800ef5" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">71.74</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Granted</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_74098bc1-c024-400d-9ab1-b0e5e57e103e" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">90,305</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_02ece05b-95ce-437f-85c9-db00730d5c5c" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">168.22</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercised</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b75187fa-cb38-4473-b2ba-6c7cf0b84492" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">40,211</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d2fb3af4-05f3-43bd-807f-028b577f7e09" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">26.76</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited/expired/cancelled</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2ecbf3e7-8f5d-439b-b6c3-23e35d57d27c" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">10,929</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_31f6ca50-cd3f-4f11-b9fb-fa364f51f812" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">189.46</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options outstanding at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_09b1b644-53d6-4c9f-b67e-c8f84915b13d" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">649,130</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d613f511-ab36-489b-abbf-2d834f950c8e" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">85.97</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options exercisable at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ec67f951-2dd3-4c36-97b2-fb8ed072e7ec" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">364,443</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b8cb9482-c8cf-40db-83b5-a899423751f5" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">65.53</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested and expected to vest at December 31, 2023</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_021aad2b-4a49-4225-be99-7fa2953ad116" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">635,834</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a27f812f-2426-4cda-aab5-2c38a908b3fd" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">85.49</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><ix:nonNumeric id="F_4617d6da-ecc9-4558-811b-1c41db4c8d77" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.59</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_91e18973-a12d-4882-9a86-aa51ac55eba7" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">61,888</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><ix:footnote id="FNT_2f0ab321-a7d8-40c1-89e1-5b173d5c5c84" xml:lang="en-US"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested options as of December 31, 2023 plus the number of unvested options expected to vest as of December 31, 2023, based on the unvested outstanding options at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_47c485de-51e4-4a45-b600-537256bb8e3e" contextRef="C_a6df805d-7a1c-40ca-945b-fda4c79b5dc7" name="rgen:PercentageOfSharesSubjectToForfeiture" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dfce14c9-2804-4a93-8f9b-dbb37452c363" contextRef="C_e5c95f33-dcff-4103-abae-8ec2de93b51c" name="rgen:PercentageOfSharesSubjectToForfeiture" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</span></ix:footnote><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></div></div></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The aggregate intrinsic value in the table above represents the total pre-tax intrinsic value (the difference between the closing price of the common stock on December 29, 2023, the last business day of 2023, of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_33ec9842-7420-4d4c-a626-c2aeda218f25" contextRef="C_9d8eb4d3-dcb1-4dfe-a7e8-7486f6f981ff" name="us-gaap:SharePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF">179.80</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share and the exercise price of each in-the-money option) that would have been received by the option holders had all option holders exercised their options on</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">111</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023. The aggregate intrinsic value of stock options exercised during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_04fccc83-37a7-41e7-8243-ea1193a4f245" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">5.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d13fc622-43c8-4292-ac31-5a48dfbbccde" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">14.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e88497d8-16c3-464d-ab58-77b699c7703c" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">20.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The weighted average grant date fair value of options granted during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3747fc10-4a6d-4925-a94d-c0007fad71ce" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">84.37</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7ff2212c-3db5-4501-997a-4df1ea7074c5" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">87.40</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_30b6b46f-8723-48cc-bcf8-5f35f8d4c5d8" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">88.01</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. The total fair value of stock options that vested during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7cd5f601-4eee-47c7-a2dc-ffa45fd2b308" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">4.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_66f46c99-919c-429a-9eb9-93dd830b7b08" contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8f4e0e86-455c-4463-8bce-635337976fd0" contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Units</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The fair value of stock units is calculated using the closing price of the Company&#8217;s common stock on the date of grant. The Company recognizes expense on awards with service-based vesting over the employee's requisite service period on a straight-line basis. The Company recognizes expense on performance-based awards over the vesting period based on the probability that the performance metrics will be achieved. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_7c312577-a005-4ed2-8a75-21e6c9be404f" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" escape="true" continuedAt="F_7c312577-a005-4ed2-8a75-21e6c9be404f_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information regarding stock unit activity, which includes activity for restricted stock units and performance stock units, for the year ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 under the Plans is summarized below:</span></ix:nonNumeric></span></p><div style="font-size:12pt;font-family:Times New Roman;"><ix:continuation id="F_7c312577-a005-4ed2-8a75-21e6c9be404f_1"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:65.92%;"/>
        <td style="width:1.12%;"/>
        <td style="width:1%;"/>
        <td style="width:13.12%;"/>
        <td style="width:1%;"/>
        <td style="width:1.6%;"/>
        <td style="width:1%;"/>
        <td style="width:12.64%;"/>
        <td style="width:1%;"/>
        <td style="width:1.6%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Shares</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted Average<br/>Grant Date<br/>Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested at December 31, 2022</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6e8cbb87-24db-454f-9a06-b1889eccdfa2" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">531,034</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_29f9a04e-a068-4d84-9b63-2ffd07cc1995" contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">142.57</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Awarded</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2f7fd2d5-41d7-4994-beca-b51bff6af663" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">212,338</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f530d330-3489-4aed-aee5-f31227642620" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">170.03</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_32062737-e6bd-46d5-85cb-899f8230140a" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">195,672</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3b889448-7dd3-4a6b-9961-84a8f04fc65f" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">124.58</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited/cancelled</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4648bc05-a942-4e2e-b680-4d15ff2f4175" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">73,380</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1a4f77e6-76dc-418e-bbba-027148f019ac" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">177.81</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f053b3d9-a1df-4601-8797-c5c7d94cc563" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">474,320</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3ad27fc9-15ba-41ad-bb71-5320f08301a0" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">155.59</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested and expected to vest at December 31, 2023</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8763b94a-297a-4ef3-91ad-5f476a4e6c6a" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">413,249</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_21831b06-7b50-4441-b058-e4a70c89b813" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">152.74</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><ix:footnote id="FNT_a32fe0b9-91d3-43d9-bdc3-923f89cad0b3" xml:lang="en-US"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested stock units as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, plus the number of unvested stock units expected to vest as of December 31, 2023, based on the unvested outstanding stock units at December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_27994f01-e643-41b9-ac80-afbd32672ea7" contextRef="C_d1eb03d2-f31a-42b3-8e21-80c5629704f6" name="rgen:PercentageOfSharesSubjectToForfeiture" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_07a32555-37e1-4b01-a412-03ef4c540627" contextRef="C_2f20bf71-d33f-44d9-9a2f-ef1b16f8b88e" name="rgen:PercentageOfSharesSubjectToForfeiture" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</span></ix:footnote><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></div></div></ix:continuation></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The aggregate intrinsic value of stock units vested during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9b9f76d2-3e95-4bbd-a594-c7e943823422" contextRef="C_32027269-01ec-4fb8-8c03-af239df544a7" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">35.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_57d862e8-f0a2-4bfd-b4f5-f0f7c9cb955b" contextRef="C_6805c462-0ef7-4871-88b0-f551c5301d03" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">43.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e8d42cda-1c50-484d-b083-0476c969f6b6" contextRef="C_df2039f8-84a3-429c-a66d-8e1ad1765af9" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">46.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively. The total fair value of stock units that vested during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_415766b1-b373-456a-b42c-6c0a6be677ca" contextRef="C_32027269-01ec-4fb8-8c03-af239df544a7" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">26.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d5b1412-a21c-482a-8f4d-6e85148e9cbe" contextRef="C_6805c462-0ef7-4871-88b0-f551c5301d03" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">22.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e29c805d-8bb4-474f-9165-c2b2767f75f7" contextRef="C_df2039f8-84a3-429c-a66d-8e1ad1765af9" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">13.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023, there was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_30fc90f9-d33e-48ca-ad64-c2f4debd92ec" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">63.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of total unrecognized compensation cost related to unvested share-based awards. This cost is expected to be recognized over a weighted average remaining requisite service period of </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_c3cf086a-3264-4af4-be12-61c1206bb17a" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.84</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> years. The Company expects </span><span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;"><ix:nonFraction id="F_c75e71a0-d2c9-414d-9dc1-291c5357dc05" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="rgen:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">2,185,873</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> unvested options and stock units to vest over the next </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a4ce2fb7-b815-4d04-8afe-976b1dd71b9c" contextRef="C_4a13ef59-11f0-4869-b3ec-6c01866a9203" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">five years</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div>
  <div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_50404f1c-9263-4759-8c7b-3cc85783c80f" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" escape="true"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">13.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Commitments and Contingencies </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">License Agreement</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On September 19, 2022, the Company entered into a 15-year exclusive License Agreement (the &#8220;Daylight Agreement&#8221;) with DRS Daylight Solutions, Inc. (&#8220;Daylight&#8221;), giving the Company exclusive license and commercialization rights to use certain technology and intellectual property subject to conditions set forth in the Daylight Agreement. The Company agreed to pay Daylight (i) an initial, one-time, non-refundable, non-creditable upfront cash payment and (ii) certain quarterly royalty payments.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Pursuant to the Daylight Agreement, the Company obtains the exclusive, non-transferrable, right and license to use specifically in the field of bioprocessing, the Daylight intellectual property called Culpeo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> QCL-IR Liquid Analyzer (&#8220;Culpeo&#8221;), which is a compact, intelligent spectrometer that uses the power of quantum cascade lasers to analyze and identify chemicals. Under the Daylight Agreement, the Company assumes responsibility for the commercialization and sale of Culpeo, in addition to the ability</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">112</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to incorporate the intellectual property into optimized products over the term of the Daylight Agreement. Daylight will continue to sell the products in the specified fields of Aerospace and Defense.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Collaboration Agreements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. R&amp;D expenses associated with license agreements were immaterial amounts for the years ended December 31, 2023, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In June 2018, the Company secured an agreement with Navigo Proteins GmbH (&#8220;Navigo&#8221;) for the exclusive co-development of multiple affinity ligands for which Repligen holds commercialization rights. The Company is manufacturing and supplying the first of these ligands, NGL-Impact</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, exclusively to Purolite, who is pairing 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. The Company also signed a long-term supply agreement with Purolite for NGL-Impact and other potential additional affinity ligands that may advance from the Company&#8217;s Navigo collaboration. In September 2020, the Company and Navigo successfully completed co-development of an affinity ligand targeting the SARS-CoV-2 spike protein, to be utilized in the purification of vaccines for the COVID-19 pandemic, including emerging variants of the SARS-CoV-2 coronavirus. The Company has proceeded with scaling up and manufacturing this ligand and the development and validation of the related affinity chromatography resin, which is marketed by the Company. In September 2021, the Company and Navigo successfully completed co-development of a novel affinity ligand that addresses aggregation issues associated with pH sensitive antibodies and Fc-fusion proteins. The Company is manufacturing and supplying this ligand, NGL-Impact</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> HipH, to Purolite. The Navigo and Purolite agreements are supportive of the Company&#8217;s strategy to secure and reinforce the Company&#8217;s proteins business.</span><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The Company made royalty payments to Navigo of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_da60b91d-fb14-465a-ad38-86d7b4b9a79a" contextRef="C_8c938ea9-304b-4311-99e3-3e2734dbbb32" name="us-gaap:RoyaltyExpense" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bfa4416b-a57c-47b3-b98b-633fa80151de" contextRef="C_aabb6a18-d0f6-4b1d-a1b9-9be92dd88cc3" name="us-gaap:RoyaltyExpense" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5e86b3ec-5658-4f95-be93-5447f6610f48" contextRef="C_a99ed7d0-9879-4894-8c89-02d90cf4d581" name="us-gaap:RoyaltyExpense" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021, respectively, in connection with this program, which are recorded to research and development expenses in the Company&#8217;s consolidated statements of comprehensive income.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Purchase Orders, Supply Agreements and Other Contractual Obligations</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d7947047-827c-484c-89f5-4d856227c72a" contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66" name="us-gaap:ContractualObligationDueInNextTwelveMonths" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">34.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million are expected to be completed within one year.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Legal Proceedings</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p></ix:nonNumeric></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">113</span></p></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_59f3f2f3-c14b-4242-9012-867572e479f0" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:LongTermDebtTextBlock" escape="true"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">14.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Convertible Senior Notes </span></div></div><div style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_0fc24906-aca3-4cef-8a6c-9b03f99aa734" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:ConvertibleDebtTableTextBlock" escape="true"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The carrying value of the Company&#8217;s convertible senior notes is as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.08%;"/>
        <td style="width:1.62%;"/>
        <td style="width:1%;"/>
        <td style="width:12.84%;"/>
        <td style="width:1%;"/>
        <td style="width:1.62%;"/>
        <td style="width:1%;"/>
        <td style="width:12.84%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,<br/>2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,<br/>2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">0.375% Convertible Senior Notes due 2024:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Principal amount</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b3a044aa-2442-49ee-bf82-fda5375c15bf" contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425" name="us-gaap:DebtInstrumentCarryingAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">69,700</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9b527d43-9b8f-4c13-9da0-e3cf82824bac" contextRef="C_320c7ca1-e95f-4052-bb17-77c7d630c1ef" name="us-gaap:DebtInstrumentCarryingAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">287,470</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt issuance costs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_283ce081-b650-491a-a2c3-4b68948a0e22" contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425" name="us-gaap:DeferredFinanceCostsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">248</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dce2bfcd-ace0-45bf-a0cc-f7c545d240aa" contextRef="C_320c7ca1-e95f-4052-bb17-77c7d630c1ef" name="us-gaap:DeferredFinanceCostsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,855</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Carrying amount - Convertible Senior Notes due 2024, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_164aac08-a51c-4fe5-8499-b319d4f774c2" contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425" name="us-gaap:ConvertibleNotesPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">69,452</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4322ff7e-e64b-475e-9473-8ae014093692" contextRef="C_320c7ca1-e95f-4052-bb17-77c7d630c1ef" name="us-gaap:ConvertibleNotesPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">284,615</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">1.00% Convertible Senior Notes due 2028:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Principal amount</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9ed0d7ba-470b-432e-815a-ddbc01694d2e" contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea" name="us-gaap:DebtInstrumentCarryingAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">600,000</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f5b9cd22-5407-4193-bc94-7249ef2548d8" contextRef="C_70d04d82-1744-48f0-8fd0-41937327db0b" name="us-gaap:DebtInstrumentCarryingAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt discount</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b34f4ecc-dd2f-4203-84d3-3f5707c73713" contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea" name="us-gaap:DebtInstrumentUnamortizedDiscount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">81,457</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a70e1383-7916-42be-8a1e-48cd399a715d" contextRef="C_70d04d82-1744-48f0-8fd0-41937327db0b" name="us-gaap:DebtInstrumentUnamortizedDiscount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt issuance costs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_57dd2628-680a-4408-80b4-6ca8eec21e0b" contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea" name="us-gaap:DeferredFinanceCostsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,400</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a7b6db9d-e711-421e-b844-bc80de681d73" contextRef="C_70d04d82-1744-48f0-8fd0-41937327db0b" name="us-gaap:DeferredFinanceCostsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Carrying amount - Convertible Senior Notes due 2028, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0619c6c5-6a19-4d30-abf5-acadad9e62b4" contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea" name="us-gaap:ConvertibleDebtNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">510,143</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_567d93a3-16e1-4367-807a-83fba87026f6" contextRef="C_70d04d82-1744-48f0-8fd0-41937327db0b" name="us-gaap:ConvertibleDebtNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">1.00% Convertible Senior Notes due 2028</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On December 14, 2023, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b1fa90d6-dd7d-4ecf-82d1-9b2124c1a9d4" contextRef="C_28f41206-0b5a-42aa-821d-020d8aef3341" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">600.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2023 Notes in the Exchange and Subscription Agreements with a limited number of holders of its outstanding 2019 Notes and certain other qualified institutional buyers pursuant to Rule 144A under the Securities Act. Pursuant to the Exchange and Subscription Agreements, the Company exchanged $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8597c503-9f92-481f-9f66-6776c689ffc2" contextRef="C_758b478e-0fb1-42f2-a8c4-70f7ab33f82e" name="rgen:DebtInstrumentExchangedAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">217.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of its 2019 Notes, which were cancelled upon exchange, for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4bd807f6-c712-484d-980b-1efe1f659f83" contextRef="C_65140819-c846-433b-a0f2-ad0fdc3b1308" name="rgen:DebtInstrumentExchangedAmountCancelled" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">309.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2023 Notes (the &#8220;Exchange Transaction&#8221;) and issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f012d803-870e-46eb-9a78-0e561ad462be" contextRef="C_58a6018f-b731-4a31-9169-e8ac0c4c8e50" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">290.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2023 Notes in a private placement to accredited institutional buyers (the &#8220;Subscription Transactions&#8221;) for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aeeab64e-0325-433a-9379-2dd9b7fc85f1" contextRef="C_826b001f-8995-4dfe-a75f-11bb3ac3fc1a" name="rgen:DebtInstrumentIssuedForCash" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">290.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company evaluated the Exchange Transaction and determined approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b6190c34-f944-4686-9222-4efa92b5b63a" contextRef="C_758b478e-0fb1-42f2-a8c4-70f7ab33f82e" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">29.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b0210ed2-d86f-4e49-93e9-0be4217edfe4" contextRef="C_758b478e-0fb1-42f2-a8c4-70f7ab33f82e" name="rgen:DebtInstrumentExchangedAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">217.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal of the exchanged 2019 Notes should be accounted for as extinguishments of debt and approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ab59c823-d1bb-46da-8c24-9847d88453e9" contextRef="C_8f926fa8-b0ba-41fc-9906-6f65d6efb057" name="rgen:ModificationOfDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">188.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million should be accounted for as modification of debt. As a result, we recognized a $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1e4d627a-c5bf-4dca-8b69-906e13a8bad2" contextRef="C_553852e5-f660-4778-8733-3912cb9ab81e" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">12.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million loss on extinguishment of debt in our consolidated statements of comprehensive income for the year ended December 31, 2023, inclusive of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b427a4a5-22e2-4482-b3f3-e5a74c171147" contextRef="C_7d4ebbb7-d121-4795-b40e-b0083e96b933" name="us-gaap:DeferredFinanceCostsNet" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of unamortized debt issuance costs. Under modification accounting, the carrying amount of the modified 2019 Notes was reduced by $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6e7de165-d42e-4ad0-8be8-b11e85ed1671" contextRef="C_efddb8f6-3d84-4fe7-a51c-93eceedade77" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, with a corresponding increase to additional paid-in capital, to account for the increase in the fair value of the embedded conversion option, representing a debt discount of the modified 2019 Notes. The aggregate debt discount of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ca037c2c-7aaf-41c9-8285-a6c5728ead5b" contextRef="C_ab61df74-eb80-464e-a4c7-9da2cadbc855" name="us-gaap:DebtInstrumentUnamortizedDiscount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">82.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, comprised of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5e1a8d9a-46a2-4818-8463-ae862d30a223" contextRef="C_ab61df74-eb80-464e-a4c7-9da2cadbc855" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">79.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million increase in principal of the modified 2019 Notes and a $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c3e64568-a2df-4569-8a8a-6cda30207648" contextRef="C_2ebef10c-1bfd-46c1-869d-5197dd62d60b" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million increase in the fair value of the embedded conversion option, is as a direct reduction from the carrying value of the convertible debt on our consolidated balance sheets. This amount will be accreted into interest expense in the consolidated statements of comprehensive income using the effective interest method over the term of the 2023 Notes.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Proceeds from the Subscription Transactions were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f2a4d8b4-6a4a-4095-98c0-c8d29d3cd79b" contextRef="C_523b577f-8694-4c5c-bc9c-89902f8a8f08" name="us-gaap:ProceedsFromConvertibleDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">276.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, net of debt issuance costs of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fa9c8b3a-d485-46e2-8dae-5e78193f1340" contextRef="C_523b577f-8694-4c5c-bc9c-89902f8a8f08" name="us-gaap:PaymentsOfDebtIssuanceCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">14.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The Exchange Transaction resulted in $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cab02e9f-7e19-4366-9cab-17ac87e759ec" contextRef="C_4619b23a-a216-4534-a36b-2e590e473ee9" name="us-gaap:PaymentsOfDebtIssuanceCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">6.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the debt issuance costs related to the modified 2019 Notes, which were expensed as incurred in accordance with modification accounting, and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a5d53f7f-8d31-4267-ad26-76ee82c7bc8e" contextRef="C_00980794-5d70-4348-a45b-9a5b33cd024e" name="us-gaap:DeferredFinanceCostsNet" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">7.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of deferred debt issuance costs related to the 2023 Notes, which were recorded as a direct deduction to the carrying value of the 2023 Notes on the Company&#8217;s consolidated balance sheets. The Company will amortize the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_52ad0ad6-88f6-4ad8-ae49-836f900c8395" contextRef="C_4619b23a-a216-4534-a36b-2e590e473ee9" name="rgen:AmortizationOfDebtIssuanceCost" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">7.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of debt issuance costs of the 2023 Notes into amortization of debt issuance costs in the Company&#8217;s consolidated statements of comprehensive income over the remaining term of the 2023 Notes. The carrying value of the 2023 Notes of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e97f16f0-b935-49bf-a378-15fe9bf9a10e" contextRef="C_6aaa377d-82ea-49a6-a59a-f32b03714b38" name="us-gaap:LongTermDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">510.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million is included in long-term debt on the Company's consolidated balance sheets as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company used </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e45fc818-9034-4448-b57a-e762e760b20b" contextRef="C_523b577f-8694-4c5c-bc9c-89902f8a8f08" name="us-gaap:ProceedsFromIssuanceOfCommonStock" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">14.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the proceeds from the Subscription Transactions to repurchase shares of its common stock from certain purchasers of the 2023 Notes. See Note 12, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Stockholders&#8217; Equity - Share Repurchases&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for additional information related to this repurchase. The Company will also use a portion of the proceeds to finance in part, the settlement upon conversion or repurchase of the remaining 2019 Notes at or prior to maturity. The remainder of the proceeds will be used for working capital</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">114</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and general corporate purposes, including to fund possible acquisitions of, or investments in, complementary businesses, products, services and technologies.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The 2023 Notes are senior, unsecured obligations of the Company, and bear interest at a rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_88782a28-2eaf-4dc1-b222-88e6a95b7c32" contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">1.00</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% per year. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_8e5a6d7a-a429-4f68-a54e-c323a809b496" contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60" name="us-gaap:DebtInstrumentInterestRateTerms"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Interest is payable semi-annually in arrears on each June 15 and December 15, commencing on June 15, 2024</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The 2023 Notes will mature on </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_61d0d1dd-9f54-413a-8209-f226ea43713a" contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60" name="us-gaap:DebtInstrumentMaturityDate" format="ixt:date-monthname-day-year-en"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 15, 2028</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, unless earlier redeemed, repurchased or converted. The initial conversion rate for the 2023 Notes is </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f7587cb3-db10-4829-9d04-92226e52bfc5" contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60" name="us-gaap:DebtInstrumentConvertibleConversionRatio1" unitRef="U_pure" scale="3" decimals="1" format="ixt:num-dot-decimal">4.9247</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of the Company's common stock per $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a0d023c-3b6b-4c3b-88e6-1c5082c848b5" contextRef="C_720ee9a7-f328-4954-89d0-db33b1176580" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> principal amount of 2023 Notes, which is equivalent to an initial conversion price of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6290dd69-a1e2-4091-b20a-6b9ad4f80662" contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea" name="us-gaap:DebtInstrumentConvertibleConversionPrice1" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">203.06</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share and represents a </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fe9e8a70-8fc0-4e38-ab47-3e94b463043a" contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60" name="us-gaap:DebtInstrumentInterestRateDuringPeriod" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">30</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% premium over the last reported sale price of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b392fe40-d14e-4341-b20a-475532009b6b" contextRef="C_9ad2189e-e69d-4460-9877-8741f4ce6bcd" name="us-gaap:SharePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">156.20</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share on December 6, 2023, the date on which the 2023 Notes were priced. Prior to the close of business on the business day immediately preceding September 15, 2028, the 2023 Notes will be convertible at the options of the holders of 2023 Notes only upon the satisfaction of specified conditions and during certain periods into cash up to their principal amount, and into cash, shares of the Company's common stock or a combination thereof, at the Company's election, for the conversion value above the principal amount, if any. Thereafter until the close of business on the second scheduled trading day immediately preceding the maturity date, the 2023 Notes will be convertible at the option of the holders of 2023 Notes at any time regardless of these conditions. The Company may redeem for cash, all or a portion of the 2023 Notes, at its option, on or after December 18, 2026 and prior to the 21st scheduled trading day immediately preceding the maturity date at a redemption price of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c82aff06-8912-4ec9-bfaf-ef9f22781919" contextRef="C_0a0c86ba-c334-41b2-bcc0-4dbd40d7f5b8" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal amount of the 2023 Notes to be redeemed, plus accrued and unpaid interest to, but excluding the redemption date, if certain conditions are met in accordance to the indenture governing the 2023 Notes (the &#8220;2023 Notes Indenture&#8221;).</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">If the Company undergoes a &#8220;fundamental change&#8221; (as defined in the 2023 Notes Indenture), the holders of the 2023 Notes may require the Company to repurchase for cash all or part of their 2023 Notes at a purchase price equal to </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ba41c20c-5680-4fdf-a582-f27390f58553" contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal amount of the 2023 Notes to be repurchased, plus accrued and unpaid interest, if any, up to, but excluding, the fundamental change repurchase date. In addition, if certain &#8220;make-whole fundamental changes&#8221; (as defined in 2023 Notes Indenture) occur or the Company calls all or a portion of the 2023 Notes for redemption, the Company will, in certain circumstances, increase the conversion rate for any 2023 Notes converted in connection with such make-whole fundamental change or any 2023 Notes called for redemption that are converted during the related redemption period.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Interest expense recognized on the 2023 Notes in 2023 wa</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">s $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_18bda1cf-a0ae-41c2-b171-266f08005052" contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60" name="us-gaap:InterestExpenseDebtExcludingAmortization" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6820a387-eb0d-408c-81cb-451111a36f41" contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60" name="us-gaap:AmortizationOfFinancingCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the contractual coupon interest and accretion of the debt discount, respectively. Amortization of debt issuance costs recorded in 2023 related to the 2023 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cc4cc579-5073-4c99-875d-32e6730f8ab9" contextRef="C_0a0c86ba-c334-41b2-bcc0-4dbd40d7f5b8" name="rgen:AmortizationOfDebtIssuanceCost" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">6.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> mill</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ion, which includes the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dd3da8de-48ea-4a7f-b5cb-e7693cf034b1" contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60" name="us-gaap:PaymentsOfDebtIssuanceCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">6.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of debt issuance costs recorded under modification accounting mentioned above and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_26b39831-1c33-400f-8fab-53390a5eddbb" contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60" name="rgen:AmortizationOfDebtIssuanceCost" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million amortization of debt issuance costs related to the capitalized portion of the costs. The effective interest rate on the 2023 Notes is </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_192c7843-af1a-48e0-9457-2f1e7ca70297" contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">4.39</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> which included the interest on the 2023 Notes and amortization of the debt discount and issuance costs. As of December 31, 2023, the carrying value of the 2023 Notes was</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e133ad91-1e73-40cf-a168-580ccd9165aa" contextRef="C_6aaa377d-82ea-49a6-a59a-f32b03714b38" name="us-gaap:LongTermDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">510.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million and the fair value of the principal was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4a320af2-5704-4ccc-9396-3b07a6824722" contextRef="C_6aaa377d-82ea-49a6-a59a-f32b03714b38" name="us-gaap:LongTermDebtFairValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">596.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The fair value of the 2023 Notes was determined based on the most recent trade activity of the 2023 Notes as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The 2023 Notes Indenture 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 </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c26e84e0-458e-4017-b74c-df9eccd9cb71" contextRef="C_54184f1a-1592-4665-af8d-409b694a5dec" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">25</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% in aggregate principal amount of the outstanding 2023 Notes may declare </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0d502afc-2dde-46ed-bf85-91abd7093961" contextRef="C_c25151a6-90d3-41cb-a88f-808558dea0d0" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal of, and any accrued and unpaid interest on, all of the 2023 Notes to be due and payable. Upon the occurrence of certain events of bankruptcy, insolvency or reorganization involving the Company, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9636ed25-8233-4d9b-a900-6cf10c8d8c43" contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal of and accrued and unpaid interest, if any, on all of the 2023 Notes will become due and payable automatically.  Notwithstanding the foregoing, the 2023 Notes provide that, to the extent the Company elects and for up to 365 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 2023 Notes. The Company is not aware of any events of default that would allow holders to declare the principal of, and any accrued and unpaid interest on, all of the 2023 Notes to be due and payable.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">0.375% Convertible Senior Notes due 2024</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">T</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">he Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1f6f0069-70c2-43f6-bbb3-c376263c1d06" contextRef="C_7e93c0d0-63e6-41ca-b59d-86f69eed6201" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">287.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2019 Notes on July 19, 2019 in a transaction which included the underwriters&#8217; exercise in full of an option to purchase an additional $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_08cca822-ee03-45d0-ae6c-32f21b8df7ab" contextRef="C_7e93c0d0-63e6-41ca-b59d-86f69eed6201" name="rgen:OptionToPurchaseAdditionalDebtFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">37.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">aggregate principal amount of 2019 Notes (the &#8220;Notes Offering&#8221;). The net proceeds of the Notes Offering, after deducting underwriting discounts and</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">115</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">commissions </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and other related offering expenses payable by the Company, were approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_03ab8dbd-8d6a-4de1-892d-34c3b05e5dab" contextRef="C_f59c1d75-93e9-4ae7-b688-2e3a9f1cc4f6" name="us-gaap:ProceedsFromConvertibleDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">278.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Immediately following the closing of the Exchange Transaction mentioned above, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6f95fee0-ae65-48d1-bfd2-0cb2008a18ea" contextRef="C_16ced66a-a0a8-434a-a2c2-3aa9415a3733" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">69.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in aggregate principal amount of the 2019 Notes remain outstanding.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The 2019 Notes are senior, unsecured obligations of the Company, and bear interest at a rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4a3fb910-1f64-47de-865e-a5d4c074e870" contextRef="C_7e93c0d0-63e6-41ca-b59d-86f69eed6201" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" unitRef="U_pure" scale="-2" decimals="5" format="ixt:num-dot-decimal">0.375</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% per year. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_bac87079-b986-4ae5-bf7d-f3d8523b4a8b" contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f" name="us-gaap:DebtInstrumentInterestRateTerms"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Interest is payable semi-annually in arrears on January 15 and July 15 of each year, beginning on January 15, 2020</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The remaining 2019 Notes will mature on </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_4e5a77d7-70db-45a0-82a1-58765e797f08" contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f" name="us-gaap:DebtInstrumentMaturityDate" format="ixt:date-monthname-day-year-en"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">July 15, 2024</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, unless earlier repurchased or converted in accordance with their terms. The initial conversion rate for the 2019 Notes is </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2af05518-500e-4b5d-b3f8-b2ddb443a6f5" contextRef="C_f59c1d75-93e9-4ae7-b688-2e3a9f1cc4f6" name="us-gaap:DebtInstrumentConvertibleConversionRatio1" unitRef="U_pure" scale="0" decimals="4" format="ixt:num-dot-decimal">8.6749</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of the Company&#8217;s common stock per $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f5669c96-de41-491e-94fd-c33c0bcfe3e8" contextRef="C_9150ef17-9f11-4bce-9b07-26e9ff551c7f" name="us-gaap:DebtInstrumentFaceAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> principal amount of 2019 Notes (which is equivalent to an initial conversion price of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_37770e3f-bebe-43d1-a223-8da2b9daad3e" contextRef="C_7e93c0d0-63e6-41ca-b59d-86f69eed6201" name="us-gaap:DebtInstrumentConvertibleConversionPrice1" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal">115.28</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share). Prior to the close of business on the business day immediately preceding April 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 remaining 2019 Notes will be convertible at the options of the holders of 2019 Notes at any time regardless of these conditions. Prior to March 4, 2022, conversion of the 2019 Notes could have been settled in cash, shares of the Company&#8217;s common stock or a combination thereof, at the Company&#8217;s election. On March 4, 2022, the Company entered into the Second Supplemental Indenture for the 2019 Notes, which irrevocably elected to settle the conversion of the 2019 Notes using a combination of cash and the Company&#8217;s common stock, settling the par value of the 2019 Notes in cash and any excess conversion premium in shares. The 2019 Notes are not redeemable by the Company prior to maturity.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5048042d-e3e4-402a-bc3f-b4a0c66c5e44" contextRef="C_f59c1d75-93e9-4ae7-b688-2e3a9f1cc4f6" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="INF" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% 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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the closing price of the Company&#8217;s common stock exceeded </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f39d420b-4c35-4171-821a-a9668547bec5" contextRef="C_8e9549bb-d861-4e1b-8c16-7f3c53871517" name="us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">130</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the conversion price of the 2019 Notes for more than </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_48aa7b96-36db-4b96-991b-934d675dad12" contextRef="C_8e9549bb-d861-4e1b-8c16-7f3c53871517" name="us-gaap:DebtInstrumentConvertibleThresholdTradingDays" unitRef="U_Days" decimals="INF" format="ixt:num-dot-decimal">20</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> trading days of the last </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5491691b-826d-4885-b3c2-027345f54f13" contextRef="C_8e9549bb-d861-4e1b-8c16-7f3c53871517" name="us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" unitRef="U_Days" decimals="INF" format="ixt:num-dot-decimal">30</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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 2024, the quarter immediately following the quarter when conditions are met, as stated in the terms of the 2019 Notes. These conditions have been met each quarter since the third quarter of 2020. As a result, as of the date of this filing and prior to the Exchange Transaction mentioned above, the Company received requests to convert $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fde09415-334f-4d2a-b768-3887b61985ab" contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425" name="rgen:DebtInstrumentConvertibleIntoEquity" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2019 Notes and all but $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e90fab44-0662-4d3f-9636-3134b0c16acd" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="rgen:DebtInstrumentConvertibleIntoEquitySettled" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the requests have been settled as of December 31, 2023. The remaining outstanding requests for conversions will settle in the first quarter of 2024. The conversions resulted in the issuance of a nominal number of shares of the Company&#8217;s common stock to the note holders. Because the 2019 Notes mature within one year of the report date, the Company classifies the carrying value of the 2019 Notes of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1c856ed6-8ffe-41e9-8268-8438d14daf49" contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425" name="us-gaap:LiabilitiesCurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">69.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million as current liabilities on the Company's consolidated balance sheets at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prior to the adoption of ASU 2020-06, the Company accounted for the 2019 Notes as a liability and equity component where the carrying value of the liability component was valued based on a similar debt instrument. In accounting for the issuance of the 2019 Notes, the Company separated the 2019 Notes into liability and equity components. The carrying value of the liability component was calculated as the present value of its cash flows using a discount rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3b72a09e-c955-4372-a108-3ffc825a5d14" contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f" name="rgen:DiscountRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">4.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% based on comparative convertible transactions for similar companies. The carrying value of the equity component representing the conversion option was determined by deducting the fair value of the liability component from the par value of the 2019 Notes as a whole. The excess of the principal amount of the liability component over its carrying value amount, referred to as the debt discount, was amortized to interest expense on our consolidated statements of comprehensive income over the five-year term of the 2019 Notes. The equity component was not re-measured as long as it continued to meet the conditions for equity classification. The equity component related to the 2019 Notes recorded at issuance was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b6ec1a7f-3249-4d2a-bc32-b20e567373d4" contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425" name="us-gaap:AdditionalPaidInCapitalCommonStock" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">52.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which was recorded in additional paid-in capital on the Company's consolidated balance sheets.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In accounting for the transaction costs related to the issuance of the 2019 Notes, the Company allocated the total costs incurred to the liability and equity components of the 2019 Notes using the same proportions as the initial carrying value of the 2019 Notes. Transaction costs related to the liability component were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0fd7ad05-1cf8-4387-b94d-0c79c88ba2bb" contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f" name="rgen:ConvertibleNotesTransactionCostsOfLiabilityComponent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">7.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and are amortized to interest expense using the effective interest method over the five-year term of the 2019 Notes. Transaction costs attributable to the equity component were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c1f956c4-0738-4a90-9634-b64ed6e7e376" contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425" name="rgen:ConvertibleNotesTransactionCostsOfEquityComponent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.6</ix:nonFraction></span></p><ix:exclude><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">116</span></p></div>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and are netted with the equity component of the 2019 Notes in stockholders' equity of the Company's consolidated balance sheets. Additionally, the Company recorded a net deferred tax liability of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_59649254-e080-483d-b124-9d64797339d9" contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425" name="us-gaap:DeferredTaxLiabilities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">11.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Effective January 1, 2022, the Company adopted ASU 2020-06. After adoption, the Company now accounts for the 2019 Notes, and any convertible debt issued going forward, as a single liability measured at amortized cost. As the equity component is no longer required to be split into a separate component, the Company recorded a net adjustment for the initial $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0dbece29-2c75-4ddb-95cd-3906108dcfe3" contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">50.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million that was allocated to additional paid-in capital and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7a60d0a8-01a2-49ef-8315-223571ed25c7" contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f" name="us-gaap:AmortizationOfDebtDiscountPremium" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">22.9</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of life-to-date interest expense recorded as amortization of debt discount. Additionally, the net deferred tax liability recorded for the 2019 Notes was reversed. The principal amount of the liability over its carrying amount is amortized to interest expense over the five-year term of the 2019 Notes. Since the 2019 Notes are classified as a single liability, there is no debt discount required to be amortized in 2022.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Contractual coupon interest expense related to the 2019 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_18f09e04-5b7a-4d35-aa11-e2236ec599a5" contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f" name="us-gaap:InterestExpenseDebtExcludingAmortization" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in 2023 </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company recorded $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_39159c17-7cf6-4704-9fae-b6feaf3f9a5d" contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f" name="us-gaap:AmortizationOfFinancingCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> mill</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ion of amortization of the debt issuance costs related to the 2019 Notes as well. The effective interest rate on the 2019 Notes is </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7b69ad5c-00b4-4aa3-8929-bc44f8b6d76c" contextRef="C_320c7ca1-e95f-4052-bb17-77c7d630c1ef" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">1.02</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, which included the interest on the 2019 Notes and amortization of the debt issuance costs. As of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, the carrying value of the 2019 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_39edc726-bf73-4a54-9e0b-29e8884e883e" contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425" name="us-gaap:LongTermDebt" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">69.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and the fair value of the principal was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ea38a55b-b650-45bf-b7af-ede06a049c1a" contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425" name="us-gaap:LongTermDebtFairValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">109.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The fair value of the 2019 Notes was determined based on the most recent trade activity of the 2019 Notes as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The indenture governing the 2019 Notes 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 </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c452ba28-6752-4531-8267-893cfa03f7c4" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">25</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% in aggregate principal amount of the outstanding 2019 Notes may declare </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_adb281b6-f4a7-4a82-9966-fd1a1b1ffcc8" contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% 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, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3dd3c52a-172a-4fc5-a7d7-f6676acf90c1" contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f" name="us-gaap:DebtInstrumentRedemptionPricePercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">100</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% 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 360 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 declare the principal of, and any accrued and unpaid interest on, all of 2019 Notes to be due and payable.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_cc038866-8a7e-46d9-b293-a4c96fa69368" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:CompensationAndEmployeeBenefitPlansTextBlock" escape="true"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">15.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Employee Benefit Plans </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 401(k) of the Internal Revenue Code. All U.S. employees over the age of </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_77a50225-d658-46d8-96d0-41aec254e16f" contextRef="C_04a162af-d019-45c7-ba8d-785db4be2cc4" name="rgen:DefinedContributionPlanEmployeeEligibilityAge" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">21</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> are eligible to make pre-tax 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 $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d1ccceae-80a9-4755-843b-f8ea3ebd0940" contextRef="C_1cedf720-2fed-4464-9b91-5fa91941f750" name="us-gaap:DefinedBenefitPlanContributionsByEmployer" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a44bd999-e08a-4d92-9775-d8a45b249abd" contextRef="C_4a31f843-73e2-41d8-9985-d95872456ff9" name="us-gaap:DefinedBenefitPlanContributionsByEmployer" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e4053863-e976-4f37-b464-f451d295572a" contextRef="C_ca71e7e9-5ff7-46a2-919a-adebe8640f89" name="us-gaap:DefinedBenefitPlanContributionsByEmployer" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in the years ended December 31, 2023, 2022 and 2021, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f19d68d6-6565-425c-bf27-059cbc9b126f" contextRef="C_5f2f9205-eb7e-470d-a7d9-d8118fbdda79" name="us-gaap:DefinedBenefitPlanContributionsByEmployer" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c79e53ff-6ab8-4c02-b3e5-86885642540a" contextRef="C_4599201f-18f9-4e94-8b05-0c0498aa84b3" name="us-gaap:DefinedBenefitPlanContributionsByEmployer" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $1</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_be8bcae5-01b5-4627-a745-04d5a8aecacd" contextRef="C_496d84a3-73fe-44c5-8e50-ed839038362a" name="us-gaap:DefinedBenefitPlanContributionsByEmployer" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively to the defined contribution plan for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_2a2fc6b6-07d1-473c-909a-4de9a078e3fe" contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" escape="true"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">16.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Related Party Transactions </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Certain facilities leased by Spectrum LifeSciences LLC (&#8220;Spectrum&#8221;) are owned by the Roy Eddleman Living Trust (the &#8220;Trust&#8221;). As of December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Trust owned greater than </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_666519d2-f2a6-4b91-afe9-6affbc82bbea" contextRef="C_795866f3-e5d4-46f1-9c0d-a007e32e6676" name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" unitRef="U_pure" scale="-2" decimals="INF" format="ixt:num-dot-decimal">5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the Company's outstanding shares. Therefore, the Company considers the Trust to be a related party.  The lease amounts paid to the Trust prior to the public offering were negotiated in connection with the acquisition of Spectrum. The Company incurred rent expense related to these leases totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f2373b1e-a8ac-40bc-90fe-7f3bcf99b587" contextRef="C_23beed10-3ba9-4e9f-b69e-cbd78136e023" name="us-gaap:ProfessionalFees" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal"><ix:nonFraction id="F_879b2157-aaf0-44e0-9467-8c484a61bb05" contextRef="C_28d5b675-6a40-48a8-8f56-4066b2b4f76d" name="us-gaap:ProfessionalFees" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal"><ix:nonFraction id="F_152ed3e3-9491-421b-9d9a-e69194b7f2ec" contextRef="C_e8c652ba-dc17-4095-b80a-80be283bdfef" name="us-gaap:ProfessionalFees" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.7</ix:nonFraction></ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span></p></ix:nonNumeric></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">117</span></p></div>
  <hr style="page-break-after:always;"/>
 </body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.5
<SEQUENCE>2
<FILENAME>rgen-ex10_5.htm
<DESCRIPTION>EX-10.5
<TEXT>
<html>
 <head>
  <title>EX-10.5</title>
 </head>
 <body style="margin: auto!important;padding: 8px;">
  <div style="min-height:1in;"></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 10.5</font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">REPLIGEN CORPORATION</font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">AMENDED AND RESTATED</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">NON-EMPLOYEE DIRECTORS&#x2019; COMPENSATION POLICY</font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cash Fees</font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Annual Retainer:</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:68.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:70.88%;"></td>
    <td style="width:10.38%;"></td>
    <td style="width:2.76%;"></td>
    <td style="width:14.98%;"></td>
    <td style="width:1%;"></td>
   </tr>
   <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;"><p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:1pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Annual Retainer</font></p></td>
    <td style="vertical-align:bottom;border-bottom:1pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:10pt;background-color:#bdd6ee;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Board of Directors (the &#x201c;</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-style:italic;min-width:fit-content;">Board</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">&#x201d;)</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:36pt;vertical-align:top;"><p style="margin-left:24pt;text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Each Non-Employee Member of the Board</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</font></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">60,000</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="background-color:#bdd6ee;text-indent:36pt;vertical-align:top;"><p style="margin-left:24pt;text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Additional Retainer for the Chairperson</font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">95,000</font></p></td>
    <td style="background-color:#cceeff;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="word-break:break-word;white-space:pre-wrap;">
    <td style="background-color:#bdd6ee;text-indent:36pt;vertical-align:top;"><p style="margin-left:24pt;text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:#cceeff;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="height:1pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td style="vertical-align:bottom;"><p style="border-top:0.75pt solid #000000;font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="vertical-align:bottom;"><p style="border-top:0.75pt solid #000000;font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="vertical-align:middle;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Audit Committee</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="background-color:#bdd6ee;text-indent:36pt;vertical-align:top;"><p style="margin-left:24pt;text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Committee Chairperson</font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,000</font></p></td>
    <td style="background-color:#cceeff;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:36pt;vertical-align:top;"><p style="margin-left:24pt;text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other Committee Members</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</font></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,000</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:1pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td style="vertical-align:bottom;"><p style="border-top:0.75pt solid #000000;font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="vertical-align:bottom;"><p style="border-top:0.75pt solid #000000;font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="vertical-align:middle;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="background-color:#bdd6ee;text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Compensation Committee</font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:#cceeff;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:36pt;vertical-align:top;"><p style="margin-left:24pt;text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Committee Chairperson</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</font></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,000</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="background-color:#bdd6ee;text-indent:36pt;vertical-align:top;"><p style="margin-left:24pt;text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other Committee Members</font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,000</font></p></td>
    <td style="background-color:#cceeff;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:1pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td style="vertical-align:bottom;"><p style="border-top:0.75pt solid #000000;font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="vertical-align:bottom;"><p style="border-top:0.75pt solid #000000;font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="vertical-align:middle;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Nominating and Corporate Governance Committee</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="background-color:#bdd6ee;text-indent:36pt;vertical-align:top;"><p style="margin-left:24pt;text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Committee Chairperson</font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,000</font></p></td>
    <td style="background-color:#cceeff;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:36pt;vertical-align:top;"><p style="margin-left:24pt;text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other Committee Members</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</font></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,000</font></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="background-color:#bdd6ee;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Transaction Committee</font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:#bdd6ee;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:#ffffff;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:36pt;vertical-align:top;"><p style="margin-left:24pt;text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Committee Members</font><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</font></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,000</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="height:1pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  </font></p></td>
    <td style="vertical-align:bottom;"><p style="border-top:0.75pt solid #000000;font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="vertical-align:bottom;"><p style="border-top:0.75pt solid #000000;font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="vertical-align:middle;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
  </table>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Annual Retainer will be paid quarterly, in arrears, or upon the earlier resignation or removal of the non-employee director. Amounts owing to non-employee directors as Annual Retainer shall be annualized, meaning that for non-employee directors who join the Board during the calendar year, such amounts shall be pro-rated based on the number of calendar days served by such director.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Per Meeting fees:</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">None, unless otherwise specifically duly approved by the Board or any committee thereof hereafter.</font></p>
  <p style="font-size:10pt;margin-top:24pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Equity</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Annual Equity Grant for each Continuing Non-Employee Director:</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Each non-employee director reelected to the Board at any annual meeting of stockholders (excluding any directors who are initially appointed or elected to the Board on the date of such annual meeting of stockholders)</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="min-height:1in;"></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">shall receive an award of a stock option to purchase shares of Common Stock and an award of restricted stock units on such date (collectively, the &#x201c;</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Annual Award</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;).</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The stock option to be granted as part of the Annual Award (i) to the Chairperson of the Board shall have a Value of $125,000 and (ii) to all other non-employee directors shall each have a Value of $107,500. The exercise price of each stock option granted as part of the Annual Award shall be equal to the Closing Price.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The restricted stock unit award to be granted as part of the Annual Award (i) to the Chairperson of the Board shall have a Value of $125,000 and (ii) to all other non-employee directors shall have a Value of $107,500.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Each Annual Award shall be fully vested on the first anniversary of the date of grant or the date of the next annual meeting of stockholders, whichever is earlier, subject to the director&#x2019;s continued service on the Board through such date.</font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Initial Equity Grants for a Non-Employee Director:</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On the effective date of a new director&#x2019;s initial appointment or election to the Board (including any directors who are initially appointed or elected to the Board on the date of an annual meeting of stockholders), such new director shall receive an award of an option to purchase shares of Common Stock, which shall have a Value equal to the aggregate Value of the stock option and restricted stock units comprising the then-current Annual Award (the &#x201c;</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Initial Award</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;). The Initial Award shall vest annually in three equal installments on the first, second and third anniversary of the date of grant, provided that if a new director is first elected to the Board at an annual meeting of stockholders, then each vesting date in respect of such Initial Award shall be on the relevant anniversary of the date of grant or the date of the annual meeting of stockholders during such year, whichever is earlier, subject in all cases to the director&#x2019;s continued service on the Board through such date.  The exercise price of each stock option granted as part of the Initial Award shall be equal to the Closing Price.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Additionally, on the effective date of a new director&#x2019;s initial appointment or election to the Board, such new director shall receive an additional award of (i) a stock option to purchase shares of Common Stock and (ii) restricted stock units, each of which shall have a Value equal to the Value of the stock option and restricted stock units, respectively, comprising the then-current Annual Award, pro-rated based on the number of months from such effective date until the Company&#x2019;s next annual meeting of stockholders (the &#x201c;</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Pro-Rata Award</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;). For the avoidance of doubt, for any new director initially appointed or elected to the Board on the date of an annual meeting of stockholders, the Pro-Rata Award shall have a Value equal to the full aggregate Value of the stock option and restricted stock units comprising the then-current Annual Award.  Each Pro-Rata Award shall fully vest on the date of the next annual meeting of stockholders, subject to service the director&#x2019;s continued service on the Board through such date.  The exercise price of each stock option granted as part of the Pro-Rata Award shall be equal to the Closing Price.</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Sale Event Acceleration</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In the event of a Sale Event (as defined in the Company&#x2019;s 2018 Stock Option and Incentive Plan), the equity retainer awards, including the Initial Award, Pro-Rata Award and each Annual Award, granted to non-employee directors pursuant to this policy shall become 100% vested and exercisable or nonforfeitable immediately prior to such Sale Event.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Definitions</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201c;</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Closing Price</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; shall mean the reported closing price of Repligen Corporation&#x2019;s Common Stock on the Nasdaq Global Market on any grant date, or the preceding business date if there are no market quotations on such date.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201c;</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Common Stock</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; shall mean the common stock of Repligen Corporation, par value $0.01 per share.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201c;</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Value</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; shall mean with respect to (i) any stock option award, the grant date fair value of the option (i.e., Black-Scholes Value) determined in accordance with the reasonable assumptions and methodologies employed by the Company for calculating the fair value of options under Financial Accounting Standard Board Accounting</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="min-height:1in;"></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Standards Codification Topic 718; and (ii) any award of restricted stock units, the product of (A) the Closing Price and (B) the aggregate number of shares of Common Stock underlying such award.</font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">*        *        *</font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ADOPTED BY THE BOARD OF DIRECTORS on March 2, 2023.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-19.1
<SEQUENCE>3
<FILENAME>rgen-ex19_1.htm
<DESCRIPTION>EX-19.1
<TEXT>
<html>
 <head>
  <title>EX-19.1</title>
 </head>
 <body style="margin: auto!important;padding: 8px;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">EXHIBIT 19.1</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="white-space:pre-wrap;font-size:14pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:14pt;font-family:Times New Roman;min-width:fit-content;">REPLIGEN CORPORATION</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">AMENDED AND RESTATED STATEMENT OF COMPANY POLICY ON INSIDER TRADING AND DISCLOSURE &amp; TRADING PROCEDURES FOR INSIDERS</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">December 12, 2023</font></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Repligen Corporation</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Amended and Restated Statement of Company Policy on Insider Trading and Disclosure &amp; Trading Procedures for Insiders</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">SECTION I</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">This memorandum sets forth the policy of Repligen Corporation (the &#x201c;Company&#x201d; or &#x201c;Repligen&#x201d;) regarding trading in the Company&#x2019;s securities and the disclosure of confidential information concerning the Company or its customers/collaborators.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Background. Federal securities laws prohibit insiders of a public company (directors, officers and employees) from trading in the securities of that company or its customers or collaborators on the basis of &#x201c;inside&#x201d; (i.e., material and nonpublic) information, or sharing that information with others who may trade in that company&#x2019;s securities based on inside information. Violations of insider trading laws can result in severe sanctions, including significant prison sentences and monetary fines. Thus, it is important that you understand your obligations.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">In addition to potential direct liability for insider trading violations, potential liability exists for a company&#x2019;s directors and officers for failure to prevent such violations. In order to prevent insider trading or the appearance of impropriety, and to ensure compliance with federal securities laws, Repligen has adopted this Amended and Restated Statement of Company Policy on Insider Trading and Disclosure &amp; Trading Procedures for Insiders (the &#x201c;Insider Trading Policy&#x201d; or &#x201c;Policy&#x201d;), and has adopted Trading Procedures (&#x201c;Trading Procedures&#x201d;) for Insiders (as defined below) set forth in Section II of this Policy.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Please read this statement carefully since you will be asked to certify that you have read, understood and agreed to comply with this Policy and, if applicable, the Trading Procedures set forth herein. Please note that this Company policy does not replace your independent responsibility to understand and comply with the prohibitions on insider trading and selective disclosure under the federal securities laws.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Please contact the Chief Financial Officer if you have any questions regarding the Policy.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">A. To whom does this Insider Trading Policy Apply?</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Section I of this Insider Trading Policy is applicable to all members of the Company&#x2019;s board of directors (the &#x201c;Board of Directors&#x201d;), and all officers and employees of the Company, as well as their respective Affiliated Persons (defined and discussed below). In addition, all members of the Board of Directors, all employees with titles at or above director-level, employees who, in the ordinary course of the performance of their duties, participate in the preparation or review of the Company&#x2019;s quarterly or annual consolidated financial statements and/or the Company&#x2019;s periodic filings with the SEC pursuant to the Exchange Act, and certain other designated employees (collectively, and solely for the purposes of this Insider Trading Policy, these persons are referred to as &#x201c;Insiders&#x201d;) also must comply with the Trading</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Procedures. Individuals designated as Insiders will be notified in writing by the Chief Financial Officer that they are Insiders and, thus, required to comply with the Trading Procedures.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">This Insider Trading Policy continues to apply following the termination of any such individual&#x2019;s service to or employment with the Company until the later of: (i) the first trading day following the public release of earnings for the fiscal quarter in which such individual leaves the Company, and (ii) the first trading day after any material, nonpublic information possessed by such individual has become public or is no longer material. This Insider Trading Policy, including, if applicable, the Trading Procedures contained herein, also apply to the following persons and entities, collectively referred to as &#x201c;Affiliated Persons&#x201d;:</font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Your spouse, child, parent, significant other or other family member, in each case living in the same household;</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">All persons who execute trades on your behalf; and</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Any trust, partnership or other entity over which you have the ability to influence or direct investment decisions for the benefit of you or your family members, including venture capital partnerships.</font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Note that the timing of Affiliated Persons&#x2019; trading in the Company&#x2019;s securities can carry risk, since trading by an Affiliated Person during a restricted period for the Company insider may give an appearance of impropriety that could subject such insider and the Company to a charge of insider trading. Accordingly, Company insiders are responsible for ensuring compliance with this Policy, including the Trading Procedures, by all of their Affiliated Persons. Unless the context otherwise requires, references to &#x201c;Insiders&#x201d; in this Policy refer collectively to Insiders and their Affiliated Persons.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">B. What is prohibited by this Insider Trading Policy?</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">It is generally illegal for any covered person to trade in securities of the Company while in the possession of material, nonpublic information about the Company. It is also generally illegal for any director, officer or employee of the Company to disclose material, nonpublic information about the Company to others who may trade on the basis of that information. These illegal activities are commonly referred to as &#x201c;insider trading.&#x201d;</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Please note that the same trading and disclosure restrictions apply to trading in the securities of customers/collaborators, and it is generally illegal to trade in the securities of any other public company while in the possession of material, nonpublic information about that company.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Prohibited Activities</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">. When you know or are in possession of material, nonpublic information about the Company, whether positive or negative, you generally are prohibited from the following activities:</font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Trading in the Company&#x2019;s securities, which includes common stock, options to purchase common stock, any other type of securities that the Company may issue (such as preferred stock, convertible debentures, warrants, exchange-traded options or other derivative securities) and any derivative securities that provide the economic equivalent of ownership of any of the Company&#x2019;s securities or an opportunity, direct or indirect, to profit from any change in the value of the Company&#x2019;s securities;</font></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Having others trade for you in the Company&#x2019;s securities;</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Giving trading advice of any kind about the Company except that you should, when appropriate, advise others not to trade if doing so might violate the law or this Insider Trading Policy;</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Disclosing material, nonpublic information about the Company to anyone who might then trade in the Company&#x2019;s securities, or recommending to anyone that they purchase or sell the Company&#x2019;s securities when you are aware of material, nonpublic information (these practices are known as &#x201c;tipping&#x201d;); and</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Discussing material, nonpublic information about the Company with anyone, including other employees, except when clearly authorized in connection with the Company&#x2019;s business and the performance of your duties.</font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">If, while in the course of working for the Company, you learn of any material, nonpublic information about another publicly traded company with which the Company does business (e.g., a customer, supplier or other party with which the Company is negotiating a transaction, such as an acquisition, investment or sale), this Insider Trading Policy also prohibits you from trading in that company&#x2019;s securities until the information becomes public or is no longer material.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Even when you are not in possession of material, nonpublic information about the Company, it is the Company&#x2019;s policy that you:</font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Do not under any circumstances provide information or discuss matters involving the Company with the news media, any broker-dealer, analyst, investment banker, investment advisor, institutional investment manager, investment company or stockholder, even if you are contacted directly by such persons, without express prior authorization from an authorized Company Spokesperson. You should refer all such contact or inquiries to a Company Spokesperson, as defined in Section I, Part F of this Policy.</font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Relationships that Carry a Duty of Trust or Confidence</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">. As noted above, these prohibitions under this Insider Trading Policy also apply to your Affiliated Persons as defined, and generally to individuals where a &#x201c;duty of trust or confidence&#x201d; exists. It is important to understand that violation of a &#x201c;duty of trust or confidence&#x201d; can support a claim of insider trading.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Rule 10b5-2 of the Securities Exchange Act of 1934 (the &#x201c;Exchange Act&#x201d;) provides a nonexclusive list of the types of family and non-business relationships that give rise a &#x201c;duty of trust or confidence&#x201d; including those:</font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Where the person receiving material, nonpublic information about the Company agrees to maintain the information in confidence;</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Where the person receiving and the person disclosing the information have a history, pattern or practice of sharing confidences, such that the person receiving the information knows or reasonably should know that the person communicating the information expects that the recipient will maintain its confidentiality; or</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Where the person receiving the information does so from a spouse, parent, child or sibling (unless he or she can show that, under the facts and circumstances of the relationship, no duty of trust or confidence exists).</font></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Obligations Post-Employment. The Policy continues to apply to a covered person following the termination of such covered person&#x2019;s service to or employment with the Company until the later of: (i) the first trading day following the public release of earnings for the fiscal quarter in which such individual leaves the Company, and (ii) the first trading day after any material, nonpublic information possessed by such individual has become public or is no longer material. Covered persons are encouraged to consult with their counsel prior to any trading in the Company&#x2019;s securities after their business relationship with the Company ceases, particularly if the Company is in a Trading Blackout Period at the time of or immediately following such covered person&#x2019;s departure.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">The prohibitions described above continue whenever and for as long as you know or are in possession of material, nonpublic information. Remember, anyone scrutinizing your transactions will be doing so after the fact, with the benefit of hindsight. As a practical matter, before engaging in any transaction, you should carefully consider how enforcement authorities and others might view the transaction in hindsight.</font></p>
  <p style="text-indent:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">C. Are there exceptions to these Prohibited Activities?</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Yes, the Trading Procedures section of this Policy outlines in detail the types of transaction that are exceptions to the foregoing trading prohibitions. There are two main areas of exception: preapproved Rule 10b5-1 Plans (as defined below) and Employee Benefit Plans, particularly the Exercise of Company Stock Options. Keep in mind that (i) the establishment of a trading plan, arrangement or instruction that meets the requirements of the SEC&#x2019;s Rule 10b5-1 (a &#x201c;Rule 10b5-1 Plan&#x201d;) enables Insiders to trade in Company securities outside of our trading windows, even when in possession of material nonpublic information and (ii) the exercise of an option to purchase securities of the Company is subject to the current reporting requirements of Section 16 of the Exchange Act and, therefore, certain Insiders must comply with the post-trade reporting requirement described in Section II for any such transaction.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">D. How is &#x201c;Material, Nonpublic Information&#x201d; Defined?</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Material Information. Information about the Company is &#x201c;material&#x201d; if it could reasonably be expected to affect the investment or voting decisions of a stockholder or investor, or if the disclosure of the information could reasonably be expected to significantly alter the total mix of information in the marketplace about the Company. In simple terms, material information is any type of information that could reasonably be expected to affect the market price of the Company&#x2019;s securities. Both positive and negative information may be material. While it is not possible to identify all information that would be deemed &#x201c;material,&#x201d; the following items are types of information that should be considered carefully to determine materiality:</font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Projections of future earnings or losses, or other earnings guidance or changes therein;</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Actual earnings, revenue or other financial measures that are inconsistent with the consensus expectations of the investment community;</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Potential restatements of the Company&#x2019;s financial statements, changes in auditors or auditor notification that the Company may no longer rely on an auditor&#x2019;s audit report;</font></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Pending or proposed mergers, acquisitions, tender offers, joint ventures or dispositions of significant assets;</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Changes in senior management or the Board of Directors;</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Actual or threatened litigation or governmental investigations, or major developments in or resolution of such matters;</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Production or manufacturing issues or delays;</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Research and/or product development breakthroughs;</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">New product launches;</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Developments regarding products, customers, suppliers, orders, contracts or financing sources (e.g., the award or loss of a substantial contract or the gain or loss of a substantial customer or supplier);</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Declarations of stock splits;</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Public or private sales of additional securities;</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Changes in dividend policies;</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Potential defaults under the Company&#x2019;s credit agreements or indentures, or the existence of material liquidity deficiencies; and</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Bankruptcies or receiverships.</font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">The Securities and Exchange Commission (the &#x201c;SEC&#x201d;) has stated that there is no fixed quantitative threshold amount for determining materiality, and that even very small quantitative changes can be qualitatively material if they would result in a movement in the price of the Company&#x2019;s securities.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Nonpublic Information</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">. Material information is &#x201c;nonpublic&#x201d; if it has not been disseminated in a manner making it available to investors generally. To show that information is &#x201c;public&#x201d;, it is necessary to point to some fact that establishes that the information has become broadly available, such as the filing of a report with the SEC, the distribution of a Company press release through a widely disseminated news or wire service, or by other means that are reasonably designed to provide broad public access.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">The restrictions on purchases or sales of Company securities based on material information applies not only to nonpublic information, but also applies for a limited time after such information has been released to the public. The Company&#x2019;s shareholders and the investing public must be afforded time to receive and digest material information before it can be considered in the public domain. As a general rule, you should consider material information to be nonpublic from the time you become aware of material information until one (1) full trading day (on the NASDAQ market) after it has been released by the Company to the public and, accordingly, you should not engage in any stock transactions until after that time.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">For example, if the Company announces material information of which you are aware before trading begins on a Tuesday, the first time you would be able to buy or sell Company securities would be at the opening of the market on Wednesday. However, if the Company announces this material information</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">after trading begins on that Tuesday, the first time that you would be able to buy or sell Company securities would be the opening of the market on Thursday.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">E. Fair Disclosure of Material Information</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">The SEC&#x2019;s Regulation Fair Disclosure (&#x201c;Reg FD&#x201d;) generally requires that any intentional disclosure of material nonpublic information about the Company to market participants and holders of the Company&#x2019;s securities must by simultaneously disclosed to the public. Reg FD also requires that where material nonpublic information has been </font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">inadvertently </font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">disclosed to market participants and holders of the Company&#x2019;s securities on a selective basis, the Company must promptly disclose that same information to the public. Rule 101(d) defines &#x201c;promptly&#x201d; to mean &#x201c;as soon as reasonably practical&#x201d; but no later than 24 hours.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Monetary penalties and other sanctions may be imposed on both the Company and its senior officials if material nonpublic information is either intentionally disclosed on a selective basis, or is inadvertently disclosed on a selective basis and not subsequently and promptly disclosed publicly, where (a) at the time of disclosure the senior official either knew or was reckless in not knowing that the information was both material and nonpublic, or (b) after the inadvertent disclosure the senior official learns of the disclosure and knows or was reckless in not knowing that the information was both material and nonpublic.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Senior officials of the Company hold primary responsibility for Reg FD compliance. Senior officials include any member of the Board of Directors, executive officers and investor relations or public relations officers.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">In light of the risks and penalties associated with non-compliance with Reg FD, the Company is committed to preventing inadvertent disclosures of material, nonpublic information and avoiding the appearance of impropriety by persons associated with the Company. As such, the Company has designated certain members of management as Company Spokespersons to respond to inquiries regarding the Company&#x2019;s business and prospects. This centralization of communication is designed to ensure that the information the Company discloses is accurate and considered in light of previous disclosures.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">It is the Company&#x2019;s policy to disclose material information by a means of dissemination designed to provide broad, non-exclusionary distribution of the information to the public in accordance with SEC rules and regulations; for example Form 8-K filings with the SEC, newswire distributed press releases and corporate website postings. Communications made in connection with most registered securities offerings are excluded from Reg. FD.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">If you feel that you or another Company insider may have disclosed material nonpublic information, it is very important to bring this to the attention of a Company Spokesperson, as described below, the Chief Financial Officer, Chief Compliance Officer or Global Head of Legal as rapidly as possible. This will allow the Company to evaluate the information and make a decision as to whether a press release, 8-K or other means of disclosure is required.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Currently, the Chief Financial Officer and Chief Compliance Officer is Jason Garland and the company&#x2019;s Global Head of Legal is Kimberly Cornwell.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">F. Who are the Company Spokespersons?</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">The Company has authorized the Chief Executive Officer and certain other employees designated by him (the &#x201c;Company Spokespersons&#x201d;) to speak on behalf of the Company with any market participant (broker-dealer, investment advisor, institutional investment manager or investment company including venture capital funds), shareholder or media representative. Requests for any information about the Company should in all cases be directed promptly to a Company Spokesperson.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">The Company has a general policy that it will not comment on rumors concerning Company developments, including, without limitation, rumors concerning public offerings of its securities, acquisitions or dispositions, restructurings, product developments, financial performance or any similar and/or material matters except as approved by a Company Spokesperson (or a designee of such Spokesperson).</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Currently, the designated Company Spokespersons are: Tony Hunt, Chief Executive Officer; Jason Garland, Chief Financial Officer and Chief Compliance Officer; and Sondra Newman, Global Head of Investor Relations.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">G. Are there any Restrictions on the Use of Internet Communications?</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">With the prevalence of the Internet and social media sites, blogs, electronic bulletin boards, chat rooms, stock-picker newsletters, and so on, electronic discussions about companies and their business prospects have become common.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Inappropriate communications disseminated on the Internet may pose an inherently greater risk due to the size of the audience they can reach. These forums have the potential to move a stock price significantly, and very rapidly - yet the information disseminated through Internet vehicles may be unreliable, and in some cases, deliberately false. You may encounter information about the Company on the Internet that you believe is harmful or inaccurate, or other information that you believe is true or beneficial for the Company. Although you may have a natural tendency to deny or confirm such information, any sort of response, even if it presents accurate information, could be considered improper disclosure and could result in legal liability to you and/or to the Company.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Due to the risk of inadvertent disclosure of material nonpublic information, no Company director, officer or employee shall engage in online discussions concerning the Company (i.e., company financial performance, business activities or dealings, as listed in Section I, Part D) on any internet site or forum, including social media sites (Facebook, Twitter, LinkedIn, etc.), internet chat rooms, message boards, blogs, e-newsletters, etc. This restriction applies whether or not you identify yourself as being associated with the Company - even completely anonymous online postings are prohibited. In addition, the Company strongly discourages employees from participating in such forums relating to competitors of the Company or entities with which the Company has a significant business relationship.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">If you have concern about potential internet fraud or misinformation you find on the internet about the Company, please notify the Chief Financial Officer, Chief Compliance Officer, Global Head of Legal or a Company Spokesperson.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">H. What are the Penalties for Insider Trading?</font></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Both the SEC and the national securities exchanges, through the Financial Industry Regulatory Authority (FINRA), investigate and are very effective at detecting insider trading. The SEC, together with the U.S. Attorney&#x2019;s Office, pursues insider trading violations vigorously. The penalties for violating insider trading or tipping rules via The Insider Trading and Securities Fraud Enforcement Act of 1988 (&#x201c;The Insider Trading Act&#x201d;) can be severe and include:</font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Criminal penalties of up to $5,000,000;</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Civil penalties of up to three times the profit made or loss avoided; and</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Imprisonment for up to 20 years.</font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">The Company and/or the supervisors of the person engaged in insider trading may also be required to pay civil penalties of up to the greater of $1,275,000 or three times the profit made or loss avoided, as well as criminal penalties of up to $25,000,000, and could under certain circumstances be subject to private lawsuits.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Violation of this Insider Trading Policy or any federal or state insider trading laws may subject the person violating such policy or laws to disciplinary action by the Company up to and including termination. The Company reserves the right to determine, in its own discretion and on the basis of the information available to it, whether this Insider Trading Policy has been violated. The Company may determine that specific conduct violates this Insider Trading Policy, whether or not the conduct also violates the law. It is not necessary for the Company to await the filing or conclusion of a civil or criminal action against the alleged violator before taking disciplinary action.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">I. How Do I Report a Violation of this Insider Trading Policy?</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">If you are aware of a violation of this Insider Trading Policy or of any federal or state laws governing insider trading, you should report the violation as immediately as possible to the Chief Financial Officer, Chief Compliance Officer or Global Head of Legal. If you would prefer for any reason, including that you do not feel you can discuss the matter with the Chief Financial Officer, Chief Compliance Officer or Global Head of Legal, or you have reported a violation that you do not believe has been dealt with properly, you may anonymously register your concern by our phone- and internet- based Compliance Hotline. These avenues are independently managed by a company called NAVEX Global.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Compliance Hotline Access by Phone:</font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">US Based employees: 		Dial 844-945-0213</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">International employees: 	First dial codes required for dialing to the</font></div></div>
  <p style="margin-left:26.667%;text-indent:9.091%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">United States, then dial 844-945-0213</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Compliance Hotline Access by Internet:</font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">All employees: 	Follow directions at https://iwf.tnwgrc.com/repligen</font></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">J. Is This Insider Trading Policy Subject to Modification?</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">The Company may at any time change this Insider Trading Policy or adopt such other policies or procedures which it considers appropriate to carry out the purposes of its policies regarding insider trading and the disclosure of Company information. Notice of any such change will be delivered to you by regular or electronic mail (or other delivery option used by the Company) by the Company.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">You will be deemed to have received, be bound by and agree to revisions of this Insider Trading Policy when such revisions have been delivered to you, unless you object to any revision in a written statement received by the Chief Financial Officer within two (2) business days of such delivery.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">* * * * *</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Your failure to observe this Insider Trading Policy could lead to significant legal problems, including fines and/or imprisonment, and could have other serious consequences, including the termination of your employment or service relationship with the Company.</font></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">SECTION II</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">TRADING PROCEDURES FOR INSIDERS</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">To comply with federal and state securities laws governing insider trading, the Company has adopted these Trading Procedures for Insiders as a supplement to (and part of) the Insider Trading Policy. For purposes of these Trading Procedures, Insiders are classified into two tiers:</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Tier I Insiders: (i) members of the Board of Directors; executive officers of the Company; (ii) employees of the Company with titles at or above the Vice President-level; and (iii) any employees who have been notified in writing by the Chief Financial Officer that they are Tier I Insiders. </font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Tier II Insiders: (i) employees of the Company with titles at or above director-level but below the Vice President-level; (ii) employees who, in the ordinary course of the performance of their duties, participate in the preparation or review of the Company&#x2019;s quarterly or annual consolidated financial statements and/or the Company&#x2019;s periodic filings with the SEC pursuant to the Exchange Act; and (iii) any employees who have been notified in writing by the Chief Financial Officer that they are Tier II Insiders. </font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">A. To What Activities Do These Trading Procedures Apply?</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">These Trading Procedures regulate securities trades by all Insiders and their Affiliated Persons.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">These Trading Procedures apply to any and all transactions in the Company&#x2019;s securities, including its common stock, options to purchase common stock, any other type of securities that the Company may issue (such as preferred stock, convertible debentures, warrants, exchange-traded options or other derivative securities), and any derivative securities that provide the economic equivalent of ownership of any of the Company&#x2019;s securities or an opportunity, direct or indirect, to profit from any change in the value of the Company&#x2019;s securities.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">As set forth in the Trading Policy, the trading restrictions set forth in these Trading Procedures continue to apply to Insiders following the termination of such person&#x2019;s service to or employment with the Company until the later of: (i) the first trading day following the public release of earnings for the fiscal quarter in which such person leaves the Company, and (ii) the first trading day after any material, nonpublic information possessed by such person has become public or is no longer material.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">B. Who is the Chief Financial Officer?</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Currently, the Chief Financial Officer is Jason Garland.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">In the event that the Chief Financial Officer is incapacitated or otherwise unable to perform his or her duties hereunder, Tony Hunt, Chief Executive Officer, is designated as the alternate to perform such duties.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">The Chief Financial Officer will review and either approve or prohibit all proposed trades by Insiders in accordance with the procedures set forth in Section C below. The Chief Financial Officer may consult with outside legal counsel to make an approval decision. The Chief Financial Officer will receive approval for his/her own trades from the Company&#x2019;s Chief Executive Officer. In the event that the Chief Executive Officer is incapacitated or otherwise unable perform his or her duties, the Chief Financial Officer will receive approval for his/her own trades from the current Chairperson of the Board of Directors.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">C. What are the Trading Procedures for Insiders?</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">In addition to the restrictions on trading in company securities when in possession of material, nonpublic information as forth above, Insiders are subject to the following trading rules and procedures. No Trading Outside of &#x201c;Open&#x201d; trading windows.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Announcements by the Company of quarterly financial results or material news have the potential to significantly affect the market for the Company&#x2019;s securities. Although an Insider may not have knowledge of the Company&#x2019;s financial results prior to a public announcement, or be privy to a pending Company announcement of material news, if an Insider engages in a trade before such information is disclosed to the public, such trades may give an appearance of impropriety that could subject the Insider and the Company to a charge of insider trading.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Therefore, it is the Company&#x2019;s policy that Insiders may trade in Company securities only during &#x201c;open&#x201d; trading windows. Periods outside of trading windows are referred to as Trading Blackout Periods.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">All Tier I Insiders and Tier II Insiders are generally prohibited from buying or selling Company securities during Trading Blackout Periods.</font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">The Company&#x2019;s &#x201c;Quarterly Blackout Period&#x201d; begins on the close of business on the fifteenth (15th) day before the end of the Company&#x2019;s then-current fiscal quarter and ends one (1) full trading day after the public announcement of that quarter's results. </font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Company Insiders will receive a reminder e-mail notification prior to the start of a Quarterly Blackout Periods and again when the trading window opens. </font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">The Chief Financial Officer may, on a case-by-case basis, subject certain Insiders to &#x201c;Special Blackout Periods&#x201d;, which may be instituted at any time, at the discretion of the Company. Reasons for being subject to a Special Blackout Period include having possession of material nonpublic information and/or knowledge of a pending significant announcement by the Company (e.g. an acquisition or a gain or loss of a major customer or supplier). In the event of a Special Blackout Period the Chief Financial Officer or other Company Spokesperson will facilitate notification to any Insider who is subject to the trading restriction, and NO exemptions will be allowed. </font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Exceptions</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">. See Trading Procedures Part E for exceptions related to Employee Benefit Plans and</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Rule 10b5-1 Plans.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">1.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">All Trades by Tier I Insiders Must be Pre-cleared by the Chief Financial Officer (or his/her designated alternate as described in Section II (B) above). </font></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">ALL purchases and sales of Company securities by Tier I Insiders must be preapproved in writing by the Chief Financial Officer, whether or not such Insider is in possession of material, nonpublic information about the Company, and regardless of trading window status. See Part D (below) for Preclearance Procedures. Tier II Insiders do not need to pre-clear trades with the Chief Financial Officer outside of a Trading Blackout Period.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">2.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">No Short Sales. </font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">No Insider may at any time sell any securities of the Company that are not owned by such Insider at the time of the sale (a &#x201c;short sale&#x201d;).</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">3.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">No Purchases or Sales of Derivative Securities or Hedging Transactions. </font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">No Insider may buy or sell puts, calls, other derivative securities of the Company or any derivative securities that provide the economic equivalent of ownership of any of the Company&#x2019;s securities or an opportunity, direct or indirect, to profit from any change in the value of the Company&#x2019;s securities or engage in any other hedging transaction with respect to the Company&#x2019;s securities.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">4.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">No Company Securities Subject to Margin Calls. </font></div></div>
  <p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">No Insider may use the Company&#x2019;s securities as collateral in a margin account.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">5.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">No Pledges of Company Securities. </font></div></div>
  <p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">No Insider may pledge Company securities as collateral for a loan.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">6.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Gifts Subject to Same Restrictions as All Other Securities Trades. </font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">No Insider may give or make any other transfer of Company securities without consideration (e.g., a gift) during a period when the Insider is not permitted to trade.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">D. Preclearance Procedures</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Insomuch as preapproval is required for an Insider to trade in the Company&#x2019;s securities as described above (including all trades by Tier I Insiders), that Insider must:</font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">1.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Notify the Chief Financial Officer of the amount, timing and nature of the proposed trade(s) using the Stock Transaction Request form attached to these Trading Procedures. For Section 16 reporting persons in particular, in order to provide adequate time for the preparation of any required filings under Section 16 of the Securities Exchange Act of 1934, as amended (the &#x201c;Exchange Act&#x201d;), a Stock Transaction Request Form must be received by the Chief Financial Officer for review at least two (2) full business days prior to the intended trade date. For all other Insiders, a Stock Transaction Request Form must be received by the Chief Financial Officer for review at least one (1) full business day prior to the intended trade date. </font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">2.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Certify to the Chief Financial Officer in writing (via the Stock Transaction Request form) prior to the proposed trade(s) that the Insider is not in possession of material, nonpublic information concerning the Company; </font></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">3.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Receive written approval for the proposed trade(s) from the Chief Financial Officer or his or her designee via the Stock Transaction Request form. </font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Certification and approval may be made via digitally-signed electronic mail.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">The Chief Financial Officer does not assume the responsibility for, and approval from the Chief Financial Officer does not protect the Insider from, the consequences of prohibited insider trading.</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">No Obligation to Approve Trades</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">. The existence of the foregoing approval procedures does not in any way obligate the Chief Financial Officer to approve any trade requested by an Insider. The Chief Financial Officer may reject any trading request at his or her sole reasonable discretion. From time to time, an event may occur that is material to the Company and is known by only a few Insiders. So long as the event remains material and nonpublic, the Chief Financial Officer may determine not to approve any transactions by an Insider in the Company&#x2019;s securities. If an Insider requests clearance to trade in the Company&#x2019;s securities during the pendency of such an event, the Chief Financial Officer may reject the trading request without disclosing the reason.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Completion of Trades</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">. After receiving written clearance to engage in a trade signed by the Chief Financial Officer, an Insider must complete the proposed trade within five (5) business days or make a new trading request.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">E. Exceptions to Trading Prohibitions</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Employee Benefit Plans</font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">1.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Exercise of Stock Options</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">. The trading prohibitions and restrictions set forth in these Trading Procedures do not apply to the exercise of an option to purchase securities of the Company when payment of the exercise price is made in cash. </font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Note, however, that a sale of securities received upon the cash exercise of an option, is prohibited. Also prohibited is the use of outstanding Company securities to constitute part or all of the exercise price of an option, any sale of stock as part of a broker-assisted &#x201c;cashless exercise&#x201d; of an option, or any other market sale for the purpose of generating the cash needed to pay the exercise price of an option. </font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">The Company securities acquired upon the exercise of an option are immediately subject to all of the requirements of these Trading Procedures and the Insider Trading Policy. For directors and officers, the exercise of an option to purchase securities of the Company is subject to the current reporting requirements of Section 16 of the Exchange Act and is therefore subject to the Post-Trade Reporting obligations described above. </font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">2.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Tax Withholding on Restricted Stock/Units</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">. The trading prohibitions and restrictions set forth in these Trading Procedures do not apply to the withholding by the Company of shares of stock upon vesting of restricted stock or upon any settlement of restricted stock units to satisfy applicable tax withholding requirements if (a) such withholding or settlement of restricted stock units is required by the applicable plan or award agreement or (b) the election to exercise such tax withholding right was made by the Insider in compliance with these Trading Procedures.</font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Pre-Approved Rule 10b5-1 Plan.</font></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Transactions made pursuant to an approved Rule 10b5-1 Plan will not be subject to our trading windows or pre-clearance procedures, and Insiders are not required to complete a Stock Transaction Request form for such transactions. Rule 10b5-1 of the Exchange Act provides an affirmative defense from insider trading liability under the federal securities laws for trading plans, arrangements or instructions that meet specified requirements. A Rule 10b5-1 Plan enables Insiders to trade in Company securities outside of its trading windows, even when in possession of material nonpublic information.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Certain Insiders may be under more scrutiny and at higher risk for insider trading violations by more often being aware of material, nonpublic information about the Company. Rule 10b5-1 allows an Insider to pre-establish a plan or pattern for future trades in the Company&#x2019;s securities.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">For more information about establishing a Rule 10b5-1 Plan, please contact the Chief Compliance Officer.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">The Company has adopted a separate &#x201c;Rule 10b5-1 Trading Plan Policy&#x201d;  that sets forth the requirements for putting in place a Rule 10b5-1 Plan with respect to Company securities. As further detailed in the Rule 10b5-1 Trading Plan Policy, Insiders who set up a Rule 10b5-1 Plan that meets the Rule 10b5-1 and Company-imposed requirements set forth in the Rule 10b5-1 Trading Plan Policy will be allowed to execute sales and purchases under a Rule 10b5-1 Plan, even if at the time the trades take effect the Insider may be aware of material nonpublic information or may be subject to a Trading Blackout Period.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">As further detailed in the Rule 10b5-1 Trading Plan Policy, if an Insider intends to trade pursuant to a Rule 10b5-1 Plan, such plan, arrangement or instruction must:</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">1.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Satisfy the requirements of Rule 10b5-1 and the Company&#x2019;s policies related to Rule 10b5-1 Trading Plan Policy; </font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">2.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Be documented in writing;</font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">3.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Be established during a trading window when such Insider does not possess material, nonpublic information; and </font></div></div>
  <div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">4.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Be approved by the Chief Compliance Officer.</font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Prior to approving a Rule 10b5-1 Plan, the Chief Compliance Officer may require that the plan exclude or include certain provisions (e.g., cooling off period, minimum number of trades requirement, limited term) that ensure compliance with SEC regulations, the Rule 10b5-1 Trading Plan Policy and practices the Chief Compliance Officer deems to be in the best interests of the Company. Any proposed deviation from the specifications of an approved Rule 10b5-1 Plan (including, without limitation, the amount, price or timing of a purchase or sale) must be reported immediately to, and be approved by, the Chief Compliance Officer. All transactions pursuant to a Rule 10b5-1 Plan must be timely reported in accordance with the procedures set forth above and in the Rule 10b5-1 Trading Plan Policy. Any modification or termination of a Rule 10b5-1 Plan previously approved by the Chief Compliance Officer requires a new approval by the Chief Compliance Officer. The Chief Compliance Officer may require as a condition to such approval that the modification or termination occur during a trading window and that the Insider be not aware of material nonpublic information.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">F. WAIVERS</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">A waiver of any provision of these Trading Procedures in a specific instance may be authorized in writing by the Chief Financial Officer and any such waiver involving a Section 16 reporting person shall be reported to the Company&#x2019;s Chief Executive Officer and Board of Directors. Notwithstanding the foregoing, any waiver of Subsection 3 of Part II, Section C or Subsection 5 of Part II, Section C in a specific instance may be authorized solely by preapproval of the Company&#x2019;s Audit Committee.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">SUMMARY</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Repligen Corporation&#x2019;s Amended and Restated Statement of Company Policy on Insider Trading and Disclosure and Trading Procedures for Insiders is intended to present the Company&#x2019;s policies and procedures with respect to the trading of securities by employees, officers and directors and the disclosure of material nonpublic information to market participants. The policies and procedures set forth in this policy statement present only a general framework within which you may purchase and sell securities of the Company without violating the insider trading laws. You have the ultimate responsibility for complying with the insider trading laws. Your obligations under the insider trading laws may extend beyond the procedures and policies set forth herein, and you should obtain additional guidance whenever possible.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">ADOPTED by the Board of Directors: December 12, 2023</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21.1
<SEQUENCE>4
<FILENAME>rgen-ex21_1.htm
<DESCRIPTION>EX-21.1
<TEXT>
<html>
 <head>
  <title>EX-21.1</title>
 </head>
 <body style="margin: auto!important;padding: 8px;">
  <div style="min-height:1in;"></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 21.1</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">SUBSIDIARIES OF THE REGISTRANT</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:50%;"></td>
    <td style="width:2%;"></td>
    <td style="width:48%;"></td>
   </tr>
   <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;border-bottom:0.5pt solid;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Subsidiary Name</font></p></td>
    <td style="vertical-align:top;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;border-bottom:0.5pt solid;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Subsidiary Jurisdiction</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repligen Sweden AB</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Sweden</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repligen GmbH</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Germany</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repligen Singapore Pte. Ltd.</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Singapore</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repligen Europe B.V.</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Netherlands</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repligen (Shanghai) Biotechnology Co. Ltd.</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">China</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repligen Japan LLC</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Japan</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repligen India Private Limited</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">India</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repligen Korea Co., Ltd.</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">South Korea</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">ARTeSYN Biosolutions Holdings Ireland Ltd.</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Ireland</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">ARTeSYN Biosolutions Ireland Limited</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Ireland</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repligen Estonia O&#x1e7a;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Estonia</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repligen Ireland Limited</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Ireland</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">ARTeSYN Biosolutions USA, LLC</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">United States</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Spectrum Life Sciences, LLC</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">United States</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">C Technologies, Inc.</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">United States</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Polymem S.A.</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">France</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Avitide LLC</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">United States</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Newton T&amp;M Corp.</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">United States</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Bio-Flex Solutions, L.L.C.</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">United States</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Repligen UK Limited</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">United Kingdom</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">FlexBiosys Inc.</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">United States</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Metenova Holding AB</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Sweden</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Metenova AB</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Sweden</font></p></td>
   </tr>
   <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Metenova America</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">United States</font></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <div style="flex-direction:column;display:flex;min-height:1in;justify-content:flex-end;"></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>5
<FILENAME>rgen-ex23_1.htm
<DESCRIPTION>EX-23.1
<TEXT>
<html>
 <head>
  <title>EX-23.1</title>
 </head>
 <body style="margin: auto!important;padding: 8px;">
  <div style="min-height:1in;"></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 23.1</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We consent to the incorporation by reference in the following Registration Statements:</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:5%;"></td>
    <td style="width:4%;"></td>
    <td style="width:91%;"></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(1)</font></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Registration Statement (Form S-8 No. 333-224978) pertaining to the 2018 Stock Option and Incentive Plan of Repligen Corporation, and</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(2)</font></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Registration Statement (Form S-8 No. 333-196456) pertaining to the Repligen Corporation Amended and Restated 2012 Stock Option and Incentive Plan;</font></p></td>
   </tr>
  </table>
  <p style="margin-left:4.533%;text-indent:-5.047%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">	</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of our reports dated February 22, 2024, 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 (Form 10-K) of Repligen Corporation for the year ended December 31, 2023.</font></p>
  <p style="margin-left:59.027%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">/s/ Ernst &amp; Young LLP</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Boston, Massachusetts</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">February 22, 2024</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="flex-direction:column;display:flex;min-height:1in;justify-content:flex-end;"></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>6
<FILENAME>rgen-ex31_1.htm
<DESCRIPTION>EX-31.1
<TEXT>
<html>
 <head>
  <title>EX-31.1</title>
 </head>
 <body style="margin: auto!important;padding: 8px;">
  <div style="min-height:1in;"></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 31.1</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CERTIFICATION</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">I, Tony Hunt, certify that:</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1.	I have reviewed this Annual Report on Form 10-K of Repligen Corporation;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.	Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3.	Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4.	The registrant&#x2019;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(a)	Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(b)	Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(c)	Evaluated the effectiveness of the registrant&#x2019;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(d)	Disclosed in this report any change in the registrant&#x2019;s internal control over financial reporting that occurred during the registrant&#x2019;s most recent fiscal quarter (the registrant&#x2019;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#x2019;s internal control over financial reporting; and</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5.	The registrant&#x2019;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#x2019;s auditors and the audit committee of the registrant&#x2019;s board of directors (or persons performing the equivalent functions):</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(a)	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&#x2019;s ability to record, process, summarize and report financial information; and</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(b)	Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#x2019;s internal control over financial reporting.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:53.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:100%;"></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Date: February 22, 2024</font></p></td>
   </tr>
   <tr style="word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:top;border-bottom:0.5pt solid;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/S/ TONY J. HUNT</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Tony J. Hunt</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Chief Executive Officer</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Principal executive officer)</font></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <div style="flex-direction:column;display:flex;min-height:1in;justify-content:flex-end;"></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>7
<FILENAME>rgen-ex31_2.htm
<DESCRIPTION>EX-31.2
<TEXT>
<html>
 <head>
  <title>EX-31.2</title>
 </head>
 <body style="margin: auto!important;padding: 8px;">
  <div style="min-height:1in;"></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 31.2</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CERTIFICATION</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">I, Jason K. Garland, certify that:</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1.	I have reviewed this Annual Report on Form 10-K of Repligen Corporation;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.	Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3.	Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4.	The registrant&#x2019;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(a)	Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(b)	Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(c)	Evaluated the effectiveness of the registrant&#x2019;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(d)	Disclosed in this report any change in the registrant&#x2019;s internal control over financial reporting that occurred during the registrant&#x2019;s most recent fiscal quarter (the registrant&#x2019;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#x2019;s internal control over financial reporting; and</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5.	The registrant&#x2019;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#x2019;s auditors and the audit committee of the registrant&#x2019;s board of directors (or persons performing the equivalent functions):</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(a)	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&#x2019;s ability to record, process, summarize and report financial information; and</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.587%;text-indent:-4.807%;padding-left:4.587%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(b)	Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#x2019;s internal control over financial reporting.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:50.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:100%;"></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Date: February 22, 2024</font></p></td>
   </tr>
   <tr style="word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:top;border-bottom:0.5pt solid;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/S/ JASON K. GARLAND</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Jason K. Garland</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Chief Financial Officer</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Principal financial officer)</font></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <div style="flex-direction:column;display:flex;min-height:1in;justify-content:flex-end;"></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>8
<FILENAME>rgen-ex32_1.htm
<DESCRIPTION>EX-32.1
<TEXT>
<html>
 <head>
  <title>EX-32.1</title>
 </head>
 <body style="margin: auto!important;padding: 8px;">
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 32.1</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CERTIFICATION PURSUANT TO</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">18 U.S.C. SECTION 1350,</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">AS ADOPTED PURSUANT TO</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In connection with the Annual Report on Form 10-K of Repligen Corporation (the &#x201c;Company&#x201d;) for the fiscal year ending December 31, 2023 as filed with the Securities and Exchange Commission on the date hereof (the &#x201c;Report&#x201d;), the undersigned officers of the Company hereby certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that to their knowledge:</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.533%;text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(1)	The Report fully complies with the requirements of section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="margin-left:4.533%;text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(2)	The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 &#x201c;filed&#x201d; for any purpose whatsoever.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:48.02%;"></td>
    <td style="width:3.96%;"></td>
    <td style="width:48.02%;"></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Date: February 22, 2024</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">By:</font></p></td>
    <td style="vertical-align:top;border-bottom:0.5pt solid;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/S/ TONY J. HUNT</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Tony J. Hunt</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Chief Executive Officer</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Principal executive officer)</font></p></td>
   </tr>
   <tr style="word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Date: February 22, 2024</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">By:</font></p></td>
    <td style="vertical-align:top;border-bottom:0.5pt solid;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/S/ JASON K. GARLAND</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Jason K. Garland</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Chief Financial Officer</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="padding-left:0.1in;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Principal financial officer)</font></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-97.1
<SEQUENCE>9
<FILENAME>rgen-ex97_1.htm
<DESCRIPTION>EX-97.1
<TEXT>
<html>
 <head>
  <title>EX-97.1</title>
 </head>
 <body style="margin: auto!important;padding: 8px;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:10pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</font></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:10pt;text-align:right;"><font style="text-transform:uppercase;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 97.1</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:10pt;text-align:center;"><font style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:10pt;text-align:center;"><font style="text-transform:uppercase;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">REPLIGEN CORPORATION</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:10pt;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">COMPENSATION RECOVERY POLICY</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Adopted as of October 11, 2023</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Repligen Corporation, a Delaware corporation (the &#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Company</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;), has adopted a Compensation Recovery Policy (this &#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Policy</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;) as described below.  This Policy supersedes and replaces the Company&#x2019;s Policy for Recoupment of Incentive Compensation, dated as of September 28, 2019, with respect to Incentive Compensation received after the Effective Date (as defined below).</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">1.	Overview</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">The Policy sets forth the circumstances and procedures under which the Company shall recover Erroneously Awarded Compensation from Covered Persons (as defined below) in accordance with rules issued by the United States Securities and Exchange Commission (the &#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">SEC</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;) under the Securities Exchange Act of 1934, as amended (the &#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Exchange Act</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;), and the Nasdaq Stock Market. Capitalized terms used and not otherwise defined herein shall have the meanings given to such terms in Section 3 below.</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">2.	Compensation Recovery Requirement</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">In the event the Company is required to prepare a Financial Restatement, the Company shall recover reasonably promptly all Erroneously Awarded Compensation with respect to such Financial Restatement.</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">3.	Definitions</font></p>
  <div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;">a.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Applicable Recovery Period</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means the three completed fiscal years immediately preceding the Restatement Date for a Financial Restatement. In addition, in the event the Company has changed its fiscal year: (i) any transition period of less than nine months occurring within or immediately following such three completed fiscal years shall also be part of such Applicable Recovery Period and (ii) any transition period of nine to 12 months will be deemed to be a completed fiscal year.</font></div></div>
  <div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;">b.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Applicable Rules</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means any rules or regulations adopted by the Exchange pursuant to Rule 10D-1 under the Exchange Act and any applicable rules or regulations adopted by the SEC pursuant to Section 10D of the Exchange Act.</font></div></div>
  <div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;">c.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Board</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means the Board of Directors of the Company.</font></div></div>
  <div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;">d.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Committee</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means the Compensation Committee of the Board or, in the absence of such committee, a majority of independent directors serving on the Board.</font></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:10pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:10pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</font></p></div>
  <div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;">e.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Covered Person</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means any Executive Officer and any other person designated by the Board or the Committee as being subject to this Policy. A person&#x2019;s status as a Covered Person with respect to Erroneously Awarded Compensation shall be determined as of the time of receipt of such Erroneously Awarded Compensation regardless of such person&#x2019;s current role or status with the Company (e.g., if a person began service as an Executive Officer after the beginning of an Applicable Recovery Period, that person would not be considered a Covered Person with respect to Erroneously Awarded Compensation received before the person began service as an Executive Officer, but would be considered a Covered Person with respect to Erroneously Awarded Compensation received after the person began service as an Executive Officer where such person served as an Executive Officer at any time during the performance period for such Erroneously Awarded Compensation).</font></div></div>
  <div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;">f.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Effective Date</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means October 2, 2023.</font></div></div>
  <div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;">g.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Erroneously Awarded Compensation</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means the amount of any Incentive-Based Compensation received by a Covered Person on or after the Effective Date and during the Applicable Recovery Period that exceeds the amount that otherwise would have been received by the Covered Person had such compensation been determined based on the restated amounts in a Financial Restatement, computed without regard to any taxes paid. Calculation of Erroneously Awarded Compensation with respect to Incentive-Based Compensation based on stock price or total shareholder return, where the amount of Erroneously Awarded Compensation is not subject to mathematical recalculation directly from the information in a Financial Restatement, shall be based on a reasonable estimate of the effect of the Financial Restatement on the stock price or total shareholder return upon which the Incentive-Based Compensation was based, and the Company shall maintain documentation of the determination of such reasonable estimate and provide such documentation to the Exchange in accordance with the Applicable Rules.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;"> </font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Incentive-Based Compensation is deemed received when the Financial Reporting Measure is attained, not when the actual payment, grant, or vesting occurs.</font></div></div>
  <div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;">h.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Exchange</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means the Nasdaq Stock Market LLC.</font></div></div>
  <div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;">i.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Executive Officer</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means any person who served the Company in any of the following roles at any time during the performance period applicable to Incentive-Based Compensation and received Incentive-Based Compensation after beginning service in any such role (regardless of whether such Incentive-Based Compensation was received during or after such person&#x2019;s service in such role): the president, principal financial officer, principal accounting officer (or if there is no such accounting officer, the controller), any vice president in charge of a principal business unit, division, or function (such as sales, administration, or finance), any other officer who performs a policy making function, or any other person who performs similar policy making functions for the Company. Executive officers of parents or subsidiaries of the Company may be deemed Executive Officers if they perform such policy making functions for the Company.</font></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">2</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:10pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</font></p></div>
  <div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;">j.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Financial Reporting Measures</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; mean measures that are determined and presented in accordance with the accounting principles used in preparing the Company&#x2019;s financial statements, any measures that are derived wholly or in part from such measures (including, for example, a non-GAAP financial measure), and stock price and total shareholder return.  </font></div></div>
  <div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;">k.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">GAAP</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means generally accepted accounting principles in the United States of America. </font></div></div>
  <div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;">l.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Incentive-Based Compensation</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means any compensation provided, directly or indirectly, by the Company or any of its subsidiaries that is granted, earned, or vested based, in whole or in part, upon the attainment of a Financial Reporting Measure and any other equity-based compensation provided by the Company or any of its subsidiaries, including, without limitation, stock options, restricted stock awards, restricted stock units, and stock appreciation rights, regardless of whether such equity-based compensation is granted, earned, or vested based, in whole or in part, upon the attainment of a Financial Reporting Measure. </font></div></div>
  <div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;">m.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Financial Restatement</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means a restatement of previously issued financial statements of the Company due to the material noncompliance of the Company with any financial reporting requirement under the securities laws, including any required restatement to correct an error in previously-issued financial statements that is material to the previously-issued financial statements or that would result in a material misstatement if the error were corrected in the current period or left uncorrected in the current period. </font></div></div>
  <div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;">n.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Restatement Date</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means, with respect to a Financial Restatement, the earlier to occur of: (i) the date the Board concludes, or reasonably should have concluded, that the Company is required to prepare the Financial Restatement or (ii) the date a court, regulator, or other legally authorized body directs the Company to prepare the Financial Restatement.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;"> </font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">4.	Exception to Compensation Recovery Requirement</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">The Company may elect not to recover Erroneously Awarded Compensation pursuant to this Policy if the Committee determines that recovery would be impracticable, and one or more of the following conditions, together with any further requirements set forth in the Applicable Rules, are met: (i) the direct expense paid to a third party, including outside legal counsel, to assist in enforcing this Policy would exceed the amount to be recovered, and the Company has made a reasonable attempt to recover such Erroneously Awarded Compensation; or (ii) recovery would likely cause an otherwise tax-qualified retirement plan to fail to be so qualified under applicable regulations.</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">  </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">5.	Recovery from Participating Employees</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">In addition to (and without limiting) the provisions of paragraph 2 above, in the event the Company is required to prepare a Financial Restatement after the Effective Date, the Company may recover from any current or former employee of the Company who is not a Covered Person (each a &#x201c;</font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Participating Employee</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;) and who received Incentive-Based Compensation from the Company</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">3</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:10pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</font></p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">during the three completed fiscal years immediately preceding the date on which the Board determines that the Company is required to prepare a Financial Restatement, the amount that exceeds what would have been paid to the Participating Employee under the Financial Restatement; provided that, this paragraph 5 will apply only to the extent the Board (or a duly established committee thereof), in its sole discretion, determines that the Participating Employee committed any act or omission that materially contributed to the circumstances requiring the Financial Restatement and such act or omission involved any of the following: (i) misconduct, wrongdoing, or a violation of any of the Company&#x2019;s rules or of any applicable legal or regulatory requirements in the course of the Participating Employee&#x2019;s employment by the Company or (ii) a breach of a fiduciary duty to the Company or its stockholders by the Participating Employee.</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">6.        Recovery Where Intentional Misconduct</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">In addition to (and without limiting) the provisions of paragraphs 2 and 5 above, in the event the Company is required to prepare a Financial Restatement after the Effective Date and the Board (or a duly established committee thereof), in its sole discretion, determines that a Covered Person&#x2019;s or a Participating Employee&#x2019;s act or omission contributed to the circumstances requiring the Financial Restatement and such act or omission involved any of the following: (i) willful, knowing or intentional misconduct or a willful, knowing or intentional violation of any of the Company&#x2019;s rules or any applicable legal or regulatory requirements in the course of the Covered Person&#x2019;s or the Participating Employee&#x2019;s employment by the Company or (ii) fraud in the course of the Covered Person&#x2019;s or the Participating Employee&#x2019;s employment by the Company, the Company may recover from such Covered Person or Participating Employee up to 100% (as determined by the Board or a duly established committee thereof in its sole discretion) of the Incentive-Based Compensation received by such Covered Person or Participating Employee from the Company during the three fiscal years preceding the date on which the Board determines that the Company is required to prepare a Financial Restatement.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">7.	Tax Considerations</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">To the extent that, pursuant to this Policy, the Company is entitled to recover any Erroneously Awarded Compensation that is received by a Covered Person, the gross amount received (i.e., the amount the Covered Person received, or was entitled to receive, before any deductions for tax withholding or other payments) shall be returned by the Covered Person.</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">8.	Method of Compensation Recovery</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">The Committee shall determine, in its sole discretion, the method for recovering Erroneously Awarded Compensation hereunder, which may include, without limitation, any one or more of the following:</font></p>
  <div style="margin-left:10%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.7033333333333336%;display:inline-flex;justify-content:flex-start;">a.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">requiring reimbursement of cash Incentive-Based Compensation previously paid;</font></div></div>
  <div style="margin-left:10%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.7033333333333336%;display:inline-flex;justify-content:flex-start;">b.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">seeking recovery of any gain realized on the vesting, exercise, settlement, sale, transfer, or other disposition of any equity-based awards; </font></div></div>
  <div style="margin-left:10%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.7033333333333336%;display:inline-flex;justify-content:flex-start;">c.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">cancelling or rescinding some or all outstanding vested or unvested equity-based awards; </font></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">4</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.5in;min-height:1in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:10pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</font></p></div>
  <div style="margin-left:10%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.7033333333333336%;display:inline-flex;justify-content:flex-start;">d.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">adjusting or withholding from unpaid compensation or other offset;</font></div></div>
  <div style="margin-left:10%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.7033333333333336%;display:inline-flex;justify-content:flex-start;">e.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">cancelling or offsetting against planned future grants of equity-based awards; and/or </font></div></div>
  <div style="margin-left:10%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:3.7033333333333336%;display:inline-flex;justify-content:flex-start;">f.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">any other method permitted by applicable law or contract.</font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Notwithstanding the foregoing, a Covered Person will be deemed to have satisfied such person&#x2019;s obligation to return Erroneously Awarded Compensation to the Company if such Erroneously Awarded Compensation is returned in the exact same form in which it was received; provided that equity withheld to satisfy tax obligations will be deemed to have been received in cash in an amount equal to the tax withholding payment made.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">9. 	Policy Interpretation</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">This Policy shall be interpreted in a manner that is consistent with the Applicable Rules and any other applicable law. The Committee shall take into consideration any applicable interpretations and guidance of the SEC in interpreting this Policy, including, for example, in determining whether a financial restatement qualifies as a Financial Restatement hereunder. To the extent the Applicable Rules require recovery of Incentive-Based Compensation in additional circumstances besides those specified above, nothing in this Policy shall be deemed to limit or restrict the right or obligation of the Company to recover Incentive-Based Compensation to the fullest extent required by the Applicable Rules.</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">10.	Policy Administration</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">This Policy shall be administered by the Committee; provided, however, that the Board shall have exclusive authority to authorize the Company to prepare a Financial Restatement. In doing so, the Board may rely on a recommendation of the Audit Committee of the Board. The Committee shall have such powers and authorities related to the administration of this Policy as are consistent with the governing documents of the Company and applicable law. The Committee shall have full power and authority to take, or direct the taking of, all actions and to make all determinations required or provided for under this Policy and shall have full power and authority to take, or direct the taking of, all such other actions and make all such other determinations not inconsistent with the specific terms and provisions of this Policy that the Committee deems to be necessary or appropriate to the administration of this Policy. The interpretation and construction by the Committee of any provision of this Policy and all determinations made by the Committee under this policy shall be final, binding and conclusive.</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">  </font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">11.	Compensation Recovery Repayments not Subject to Indemnification</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">Notwithstanding anything to the contrary set forth in any agreement with, or the organizational documents of, the Company or any of its subsidiaries, Covered Persons are not entitled to indemnification for Erroneously Awarded Compensation or for any losses arising out of or in any way related to Erroneously Awarded Compensation recovered under this Policy.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:10pt;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">* * * * *</font></p>
  <div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:1in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">5</font></p></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>10
<FILENAME>img33618189_0.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 img33618189_0.jpg
M_]C_X  02D9)1@ ! @   0 !  #_VP!#  @&!@<&!0@'!P<)"0@*#!0-# L+
M#!D2$P\4'1H?'AT:'!P@)"XG("(L(QP<*#<I+# Q-#0T'R<Y/3@R/"XS-#+_
MVP!# 0D)"0P+#!@-#1@R(1PA,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R
M,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C+_P  1" (E IP# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#WORO]K]*/
M*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ
M2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/R
MO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/
M*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ
M2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/R
MO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/
M*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ
M2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/R
MO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/
M*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ
M2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/R
MO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/*_VOTJ2B@"/RO]K]*/
M*_VOTJ2B@"/RO]K]*/*_VOTJ2B@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **I:KJ^G:'I\E_JEY#:6J8#2RM@
M9/0>Y]JD.HV(BM93>6XCNV5;9_-7$Q8%E"'/S$@$C'4#- %FBJ=_JVG:4L3:
MCJ%K9K*_EQFXF6,.W]T;B,GVH.K:<-4&EG4+4:@4\P6AF7S2O][9G./?% %R
MBJ=CJVG:FTZV&H6MVUN_ES"WF60QM_=;!X/'0U<H **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH X#XN645WX4CE:/41-;3&6"XLH1,('V,N9$Y)0@D< X)'0<UD?\
M"/7UU_PK[6;G2);;4+>YCBFM;:-E@LXMDI+"(<1[B8]V>FU1QBO5J* /*O%]
MQ<:W>W%Y!H^J36XTS4]'6/[*TC"Y8H%.U<[4<*<.<#&,XXJE'H.NQZJFG-:7
M9U'^V(;X7P1S%Y*V7E$^=C .X%=N<\],<UZ_%#% A2&)(U+,Y5% !9B68\=R
M223W)-/H \U^'&G7T&I6KS:?=6<=EH%KIUP+B!H@]PCN6VY #@ _>&1\W!/-
M=[<3W,&H6BAXC;SR&,IY9W@A&;.[=C^'ICO5VJ%__P ?NE_]?3?^B9* +]%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %([K&C.[!549+$X %+7'_$^WM[GP%?176H&
MQBW1GSC$TD9(<$)(%_@8_*22 ,Y- '7(Z2QK)&RNC ,K*<@@]"#3J^=IG@N/
M VES&&PMV6QO[6SM)YIC&\X=<7-FVU@9-WW(\J?F^4X!K:4Z@/$8W9_X3 :O
MSC'G?8OL'_HKS/PW>] 'M]4+_P#X_=+_ .OIO_1,E>=_"OR?[2']G;?L_P#8
M5E_:/E]/[0S)YOF?]-<8W9YZ9[5Z!?M/_:NF*8XQ!]H;#B0[B?)DXVXQCWS^
M% &G1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !2.BR(R.H96&"I&012T4 -1$BC6.-
M51% 5548  Z "G444 %4+_\ X_=+_P"OIO\ T3)5^J%__P ?NE_]?3?^B9*
M+]%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %<YXZFURW\(7LOA\$WR;2=FW>(]P\PI
MN^7<%R1GT]<5T=9^M:+8>(-,DT_483+ Y#?*Q5D8'*LK#E6!Y!% 'DC^-M=F
M\,::^F>(9YIX;"ZN+MC8HDT1B91FX#JPV1Y*OY?SL<%5/.-=_&^L)?MJHO$E
ML5U?^RQ9)&HB=/L?G>:'*[]Q?WQMXQGFNL_X5WX8.FV]@VGN8H$D3>MS(DDH
MD.9!(RL"X8C)#9!]*O+X3T--8&J)8*MT.1AV$8;9LW>7G9NV?+NVYQQG% '.
M>!=?U>_U&"UU.^-X+S0[35U9HD3R7E+AHUV@90;1C.3UR3757\KG5=,B\B0(
M+ACYI*[2?)DXZYS^&*9HOAK2/#YF.F6IA,JJC%I7DPBYVHNXG:@R<*, 9.!4
M]_\ \?NE_P#7TW_HF2@"_1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !117/>.-8U+0
M?"=YJ.E6AN+J/:/]6TGEJ6 :38O+!02<#T],T =#17FH\7^(IO FE:SI^I:#
M=WEY(EK#$EK+(MS,[X7GS$\HA<EP0VW:W/:IY?'FIV>JNUU#:/IL.IG294BC
M83-,+;SC(K%]NS(VA2,XYW=J /0ZH7__ !^Z7_U]-_Z)DKF_!OBO4M:O8[;5
M([0-<Z5;:M ;5&4)',6'EMN8[F&T?,, YZ"N@O[F ZKIEN)HS.+AF,08;@/)
MDYQUQ0!IT444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 5G:[I(UO29K'[;=6;/@K/:R;
M'4@Y^C#L5(((K1HH Y32? .F:5;Z1&L]S+)IUU+>[V*CSYY%96=QC_;) 7&,
M#K4TO@?2IM;?49)+EHY+@W;6)9?(,YB\HRXV[MVSC&['?&>:Z6B@#G_#OA"Q
M\-RM+;W-W<R?9X[2)KIE8PP1YV1+M4?*-QY.2>Y.*T;_ /X_=+_Z^F_]$R5?
MJA?_ /'[I?\ U]-_Z)DH OT444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5@>,_$O_")
M>&+G5_L_GF-DC56;:@9V"@NW902,FM^LOQ#IU[JNB7%G87PLKB08$CPK*C#N
MK*>JL,@X((SP: .0E^)<UMI.DR3:;8)J-_;/<B*?58X8'12 OERD$,S[@54X
MXW9(QSH2_$!+?67@FTXIIL=\=.>[,V9%N!!YQ7RPOW=O&X-U[8YK&M/A+]CT
M..TM]4ABNY+6ZM;IVM/,B\NX(9UB3>-A4@;3D]\@YXTT^&\"7ZJ=1=M)%W]N
M^R-%^],_V?R,^;N^[MYV[>O?'% %_P *^,7\17(M[C3A922V$&I6P6?S?,MY
M2P4M\HVN-O*\CD8)K;O_ /C]TO\ Z^F_]$R5B>%?!S^';D7%QJ(O9(K"#3;8
MK!Y7EV\18J&^8[G.[EN!P, 5KW]M -5TRX$,8G-PRF4*-Q'DR<9ZXH TZ***
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH ***H:UK5AX?TN74=1F\JWBP"0I9F8G 50.22
M3@ 4 7Z*YN+QWH$^G6%[%<7,J7Q=8(H;.::4LGWU*(K,"O?(JXOBK1FUH:1]
MK(O2=NQH7"AMF_87*[0^SYMF=V.<4 ;%4+__ (_=+_Z^F_\ 1,E0:+XETCQ
M9AIET9C$JNP:)X\HV=KKN W(<'##(.#@U/?_ /'[I?\ U]-_Z)DH OT444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 44=*R-8\1V6B^3YZRR>;NQY(4XQCKD
MCUJHQ<G:),I**NS7HK*T7Q!::[Y_V6.9/)V[O-4#.<XQ@GTK5HE%Q=I;A&2D
MKH****DH**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *YSQWIK:KX1O+1=*
M;4V8JP@2X\F0$,"'1O[RD9 R,XQGFNCHH \<B\,>+)?#6FO>6>KW.I6UE=V^
MGRP:FEO+9[RODF< KO.$7)#-TP48U>;P9XBN+QM/NXD=)-7.K2ZFKH(FS9^2
M4V9W[M_/W<8[]J]5HH X+P+H&KV&HP76IV)LQ9Z'::0JM*C^<\1<M(NTG"'<
M,9P>N0*ZJ_@0:KID^9-YN&7!D;;CR9/X<XS[XS6G5"__ ./W2_\ KZ;_ -$R
M4 7Z*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **JWNI6>G1>9=W"1+VW'D_0=365_:NJZGQI5C
MY,)_Y>;SY0?]U1R:N-.35^A$JD4[=3==UC0N[!5')9C@"L>;Q/8B0PV:S7\P
M_@MD+#\^E,3PVEPXEU:\FOY!SL8[(P?916S#!%;Q".")(XQT5%  JOW<?/\
M!?U]PO?EY&-YWB.]_P!7;6NGQGO,_F/^0X_.C^P;VXYO==O7]1!B$?I6[11[
M5KX4D'LD_B;9ACPEI#<S133MZRSN3^AK+USP4ESY']DQV]OMW>9YCM\W3'8^
M]=A13CB*D7>Y,J%.2M8XW1O!3VWGF_N,,VWRFM9F4CKG/ ]JU?[)UBTYL=9>
M4#I'>)O!^K#FMVBB5><G=A&A"*LC!_MV\L.-8TV2)/\ GXMSYD?U/<5KVE[;
M7\/FVLZ3)ZH<X^OI4]9%WX=M9IC<VC/8W?\ SUMSMS]5Z&E>$M]/R*M..VIK
MT5S_ /:VHZ0=FL6_FVX_Y?;=<@?[R]JV[>XANH5FMY4EC;HRG(J90<=>@XS4
MM.I+1114%A1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 57OKZUTVRFO;ZXCM[:%=TDLK!
M54>YJQ7*?$>Q@O\ P5=Q7$%_*J/'*K6"!Y8F5@5?:?O*"/F !.,X% &W'KFD
MR:,FL+J5H--=0PNVE58L$X'S$X'/'UXJ3^UM._M3^R_[0M?[0V>9]D\Y?-V_
MWMF<X]\5X=J>@^+]<^%EJO\ 95N;.WW2);VR/;SW<GF@).T*QG.5W,5)7)8L
M>@KH+G1]=N=<FM/[/N(M1DUYM2^U1JY@6 V/E8$^T _/\H7@]\ 4 >HV&K:=
MJGG?V?J%K=^0_ER_9YED\MO[K8)P?8TR_P#^/W2_^OIO_1,E<-\.M/O8=2@F
MDL+JRAM?#]CITZW$#0[[F,R%]H(&\ $?.,@YX)YKM;]9_P"U=,8R1F#[0V$$
M9W ^3)SNSC'MC\: -.BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HK-O]=T_3G\N6;S)SP((AO<GTP.GXU2_X
MGNK^FE6I_P"!3,/Y+_.M%3;5WHC-U%>RU9HZAJ]CIBC[5.JN?NQKR[?0#FL[
M[1K>K_\ 'M"-,M3_ ,M9ANE8>R]!^-7=/T.PTYC)%$9)S]Z>4[W/XG^E:5/F
MA'X5?U_R%RRE\3MZ?YF59>'[&TE\]U:YNCR9[@[VS[9Z5JT45$I.3NV7&*BK
M(****DH**** "BBB@ HHHH ****  @$$$9!Z@UAW&@-;SM=Z-/\ 8YSRT6,Q
M2?5>WU%;E%5&;CL3*"EN8MKKX6=;/5838W9^[N/[N3_=;^E;507=G;WT!@NH
M4EC/56'^<5B_9-4T+FQ9K^Q'6VD/[Q!_L-W^E7:,]M'^!%Y0WU1T-%4-.UBS
MU12()")5^_#(-KI]15^LW%Q=F:*2DKH****0PHHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBD=UC1G
M=@JJ,EB< "@!:*:CI+&LD;*Z, RLIR"#T(-.H *H7_\ Q^Z7_P!?3?\ HF2K
M]4+_ /X_=+_Z^F_]$R4 7Z*** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBFO(D2%Y'5$49+,< 4 .I&8*I9B !R2>U8<GB$W4C0:-
M:O>R X,OW8E^K'K^%-70+B_82:W>-<=Q;0DI$O\ 4UK[.VLW;\S/VE_@5_R,
M_P 5Z[8W.C75E:NUQ(=NYXEW(F&!Y;IVQ7)>'+47NO6UN998@^[+Q-M;&TG
M/OT_&O5[>V@M8A%;Q)%&.BHN!4M;0Q*IP<(K?S,9X=SFIR>Q2L-)L=,7%I;H
MA/5^K'ZD\U=HHKE;;=V=*22L@HHHI#"BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH SM1T2SU)A*ZM%<K]RXB.UU/U[U0^VZMHWRW\+7]H.ES OSJ
M/]I?ZBN@HK15':TM49NFKW6C*MCJ5GJ4/FVEPDJ]P#R/J.HJU65>^'K&[E^T
M(KVUUU$]NVQL^^.#5;;XAT[[K0:G".S?NI<?R-/DC+X7]_\ 7^0<TH_$ON-Z
MBN#U+QOJ=I?RP+8PPA<?).K%QP#SAL?_ %JW]%\26M_IL4MY=VD-TV=\>\+C
MD@<$^F*J>'J1CS-$QQ%.4N5,W:*B2Y@D&4GC8>S@U*"#T.:PL;7"BD) ZD#Z
MU&]U;QC+SQ*/=P*+!<EHJA)K>E1??U&U!]/-4G^=5)/%>BH=HO!(WI'&S9_(
M5:IS>R9#J06[-JBL/_A)HY/^/;3-2G]UM\#\R:/[5UJ;_4:"RC^]-<*OZ=:?
ML9]=/FA>UCT-RBL//B>;HNF6X]R[,/Z4?V=KTO\ K=<2(>D5JI_4T>S762#V
MCZ19N5A_\)AH/_/_ /\ D%__ (FC^P;Q_P#6Z]?G_KF0E<-_PA^O?\^/_D9/
M_BJWHT:,K\\OT_,QJU:L;<L?U_(]5HHHKD.H**** "BBB@ HHHH **** "BB
MB@ HHHH *X_XGV]O<^ KZ*ZU V,6Z,^<8FDC)#@A) O\#'Y220!G)KL*1T61
M&1U#*PP5(R"* /!Q<>'KOX4VBWUM#8:C;PW/]GKYDKQW!1QO-HS?*LCL!LP&
M*Y^52,@W9)+J3Q4\D$4D7BEM9)2-\&X6P^P< ^L?F?AO]Z]J1$BC6.-51% 5
M548  Z "G4 >6?"OR?[2']G;?L_]A67]H^7T_M#,GF^9_P!-<8W9YZ9[5Z!?
MM/\ VKIBF.,0?:&PXD.XGR9.-N,8]\_A6G5"_P#^/W2_^OIO_1,E %^BBB@
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
MUJ)(DJ!XW5U/0J<BM(5(3^%W,YTYP^)6'44459 4444 %%%% !1110 4444
M%%%(SJBEG8*HZDG H 6BLNX\1:3;':U[&[?W8OG/Z9J#^W;FX_X\='NY?1I<
M1*?Q-8NO33M>_IK^1LL/5:O:R\]/S-NBL39XCN>LME9*?[JF1Q^?%'_"///S
M?:K>W'JJOY:'\!1[63^&+^>G_!_ ?LH+XIKY:_\  _$U)[VUM?\ CXN88O\
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
M_&<_XT>WPO52?K&;_0.:OT:7HTOR-R"WL+,8MXK>'_< %2FY@'6:,?\  A6
M-*@[>'Q^-Q3AI:=O#T7XW K58VBE9*7_ (!/_P"1,72FW=M?>O\ ,W#>6PZW
M$/\ WV*:;^S'6[@_[^"L8:8.V@6X^LH-.&FGMH=F/JP-/Z[3_EE_X!+_ "%[
M&7=?>O\ ,U3J5B.M[;?]_5_QKF_^$R?[=C[.GV7=COOQZ^GX5HC3G[:-IX^N
M#_2LM=+A;4]\\0C@+%G\HY4%>#SZ9(S_ )QA6S*--KW'KW37YK8N&'<KZK\S
ML:*:BJB*J !0  !TQ3J]);'.%%%%, HHHH **** "BBB@ HHHH **** "N>\
M<:QJ6@^$[S4=*M#<74>T?ZMI/+4L TFQ>6"@DX'IZ9KH:SM=TD:WI,UC]MNK
M-GP5GM9-CJ0<_1AV*D$$4 <&WQ#UB'P7H.I06UEJ<M]<11W%];DBWB1I53YE
M.&$IW@;.Q#'.!@W;OQY?6>N3N\%LVCPZJVDF,(WV@R"V\[S-V[;MS\NW;GOG
MM6K:^ -,M_"L6@F>Z:,7:WLLX*AY9A()"QXP 6 X Z?G4TO@?2IM;?49)+EH
MY+@W;6)9?(,YB\HRXV[MVSC&['?&>: */@WQ7J6M7L=MJD=H&N=*MM6@-JC*
M$CF+#RVW,=S#:/F& <]!2WVNWDFI,D:6_P#H=PYCRIZ@,G//(PQ/&.:TO#OA
M"Q\-RM+;W-W<R?9X[2)KIE8PP1YV1+M4?*-QY.2>Y.*IZAX=<:@I2\"B]N'&
M#%G82&DSUY^[C''6N/&^W]G_ +/\5_*WSN;453<OWCT+2>*0MN@>V>2?'S;<
M*N?;DFJ\GB359?\ CVT^!?3>[/\ R KHK*W:TLH;=I/,,:A0VW' Z<?2K%*G
M3Q?*N:HK_P"'_P"V:";I7T7X_P# .*EU#Q1-]QA%GM%;$_S!J![;7)_]=/J9
M]0I90?P %=Y15^RQ/6LUZ1BO_;2;TOY/O;?ZG #0KEFW/IWFM_>E60G]7Q^E
M6HM+U2+_ %%A#$?5;>+/YMFNUHJ7A:LOBKS?S7Z)%*K"/PTX_<<D;3Q&PP9;
ME1Z*\2C]*C.C:Y)_K);EAZ-=G'Z&NQHK/^S:;^*4G_V\S3ZY46R2^2.);PM?
M2G]Y$C?[]PQIZ^$[P#B*Q'^\2?\ V6NSHI+*L+_*_P#P*7^8/&XA_:.2C\,:
MA&<I)9I_N!A_("ISH&IE"#>0].!\_P#C7345?]FX5*W(OZ]2'B:KWD<';Z3J
MEQ<F VSPX)R[KA1Z<]_PK:7PY=KTOH/_  $4_P S71444LMPE+X::^ZXI8BK
M+>1A+H=\O34X5_W;&,5*NE:DO362/]VV05L45UQIPC\*2,G)O=F3_9FI_P#0
M;D_[\+1_9>H_]!J;_OTM:U%6(R/[*U#OK4__ '[6E_LF^[ZS<?\ ?"UK44 9
M/]D7G?6;K\A1_8]UWUB\_,5K44 9/]BS'KJ]_P#@X']*3^PB>NK:G^$^/Z5K
MT4 8EQX;CG@>,ZA?-N''F2[ESVR,<UGZ=X0:*<O>3@J!\HA8@GZFNKHH R/^
M$:TP_?BD?_>E;_&GKX<TE>EFOXLQ_K6I10!071-,7I8P_BN?YU,NG6*?=L[=
M?I$O^%6:* &+#$GW(T7Z*!3Z** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** (C;1,[.4RS%23D_PG(_44Z.)(@PC7:&8L0.F:?14*G!.Z
M2N/F=K7"BBBK$%%%% !1110 4444 %%%% !3!%&H4+&H"C:,#H/3]!3Z*32>
MX7$5510J@*H&  , "EHHII6 **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBN#C^(DDGCS5-"&FI]BTV-FN93<*)U"H',@B/WH^0O!)R0<8H [RJ%_\
M\?NE_P#7TW_HF2L;PKXOD\0W#V]UIRV,YLX+^%5G\T/!-NVDG:NUAM.5Y'(P
M3VV;_P#X_=+_ .OIO_1,E %^BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ K@]
M6^'L^N>-DUC4M56:PA5O(B6W5)XPR,IB\P=8_G9N1G) )XKO** .7\*^$)/#
MUP]Q=:BM].+."PA98/*"00[MH(W-N8[CEN!P, =]F\T>QOKF&>>VA=XVW,6B
M5BXVD;3GMSGZ@5QZ7&L1_%6_M=2UGR]/DT66>"*'Y$ME$RJ'.[(9\ DL1@9Q
MC YQ_#=_?W=K<'3[O5O[&U+4;2UTJ>_NI))YUCR]Q,I<[E5TC; XQ@G SB@#
MTC^Q-)_Z!=E_X#I_A1_8FD_] NR_\!T_PKR^_P!3U^RB^($>IZY/]HA6P$#6
M8*);F4D;(P6&T?,%+Y#8RW4 5V'P^GN'L-7M+NZGFFLM4F@*2S/.(!A6$:S.
M=TJ@-]Y@#SC P* .@_L32?\ H%V7_@.G^%']B:3_ - NR_\  =/\*OT4 4/[
M$TG_ *!=E_X#I_A1_8FD_P#0+LO_  '3_"K]% %#^Q-)_P"@79?^ Z?X4?V)
MI/\ T"[+_P !T_PJ_10!0_L32?\ H%V7_@.G^%']B:3_ - NR_\  =/\*OT4
M 4/[$TG_ *!=E_X#I_A1_8FD_P#0+LO_  '3_"K<_G?9Y/L^SSMI\OS,[=V.
M,XYQFO+=-U.6U\)^*I/%GB#4I!9:\T;2V+M%)+A(2L$0!W(K,<84@\GYADF@
M#T-?#^E"ZDF^P6A5D51&8%VK@L<CCJ=WZ"I/[$TG_H%V7_@.G^%<1H'_  E<
M^GZ7I\UTUKJL-A/<RBZD:8Q>;+MMQ+R#(5C$G7JRC/<US]K>:W>> /#LL^J7
MUV6FU(70AU(6MU,R-,(Y Q="R)MR4#<#;\I"XH ]7_L32?\ H%V7_@.G^%']
MB:3_ - NR_\  =/\*J>$+V\U+P;HM]J&?MEQ90R3$K@EB@)..V>M;5 %#^Q-
M)_Z!=E_X#I_A1_8FD_\ 0+LO_ =/\*OT4 4/[$TG_H%V7_@.G^%']B:3_P!
MNR_\!T_PJ_10!0_L32?^@79?^ Z?X4?V)I/_ $"[+_P'3_"K]% %#^Q-)_Z!
M=E_X#I_A1_8FD_\ 0+LO_ =/\*OUB^*QJA\-7O\ 9%Y'9W0C9OM#IO** 22H
M_O8Z9X'6@"W_ &)I/_0+LO\ P'3_  J.+P_I4<DS&PM'$CA@&@7"?*!@<=.,
M_4FO,M1U&[N? 7A)+74]8G\4:AIL:6-O;WCH&E*H6N)B.6"8YWDJ<GCDD:GB
M;5%2TU*]O=0U9F^W"QTZPTRZ>%KR98=NWY/F \UI"<$?ZM<YP%H [W^Q-)_Z
M!=E_X#I_A1_8FD_] NR_\!T_PKRPZAXCL[Y1J6I7+:MIDFC6WDQSL(Y#,<3;
MHU.V0MEAN(.-G&,&O8J *']B:3_T"[+_ ,!T_P */[$TG_H%V7_@.G^%7Z*
M*']B:3_T"[+_ ,!T_P */[$TG_H%V7_@.G^%7Z* *']B:3_T"[+_ ,!T_P *
M/[$TG_H%V7_@.G^%7Z* *']B:3_T"[+_ ,!T_P */[$TG_H%V7_@.G^%7Z*
M*']B:3_T"[+_ ,!T_P */[$TG_H%V7_@.G^%<K\19]:M6T*>PU+[)8_VK:17
M$<0(DGW3*-I;/"8SD=^G3K0O-1:/XDM_9NH:G<0V'F76N22W+&UMHO)PD"1\
M)NR ^<;ASECD@ ':VWA_2H+6*%K"TE:- ID>!2S8&,GCJ:D_L32?^@79?^ Z
M?X5YO--J3:KX:L;34=7N/$EPMM=WL NW^RV5OO+S%U'#;MQ0!LGY5QMP =[P
MM/K7_"Q?%%IJ^I?:ECM[62&&,%8H%8R_*JD]< 9;J3[ "@#JO[$TG_H%V7_@
M.G^%']B:3_T"[+_P'3_"K]% %#^Q-)_Z!=E_X#I_A1_8FD_] NR_\!T_PJ_1
M0!0_L32?^@79?^ Z?X4?V)I/_0+LO_ =/\*OT4 4/[$TG_H%V7_@.G^%']B:
M3_T"[+_P'3_"K]% %#^Q-)_Z!=E_X#I_A1_8FD_] NR_\!T_PJ_7"33ZU%\7
M+>WN]5VZ9-IEP\%K"-JQ[6B&]\\,^2>2, =.IR =1/X?TJ:,*MA:1D.C96!0
M3A@<=.AQ@^QJ3^Q-)_Z!=E_X#I_A7FFBW][=VVJ/I.H:O-HEY+:Z;87E[=N\
MMQ*9"L]Q&3RBA"?NX&4X Y LV]V+GQ-KSVFO:PF@65K<QZIJDUV2BW#,&"P
M@HAB7<,HO<9R<$@'H7]B:3_T"[+_ ,!T_P */[$TG_H%V7_@.G^%<Y\.9;Z[
MTF^OI1?+IEU=&32TU"9Y9_L^U0&9G);#,&8 G@'TQ794 4/[$TG_ *!=E_X#
MI_A1_8FD_P#0+LO_  '3_"K]% %#^Q-)_P"@79?^ Z?X4?V)I/\ T"[+_P !
MT_PJ_10!0_L32?\ H%V7_@.G^%']B:3_ - NR_\  =/\*OT4 4/[$TG_ *!=
ME_X#I_A1_8FD_P#0+LO_  '3_"K](V[:=N-V.,],T 4?[$TG_H%V7_@.G^%.
M@TJSM;U;FU@BMR(VC98HPH;)4Y./3;^IKSC3]2NK/2_&K>+_ !)=I'97\1EN
M+)S#L!CC;RH1R54D[>,,<YR"2:FTF?53HUA;ZW?ZCI,0@OM2E>2Y)N+6V)*0
MI*[9+,%E+?,#@QC/*B@#TZBO*]$2[UKP[=RC5-3LK.^NVET&WO=6DAGNHUAQ
MEI3F78S!I H.<8/W>O;^"]0.J^"]'OC<SW+36J%I[B,1R2'&"S*"0"2,\$_4
MT ;M%%% !1110 4444 %%%% !1110 4444 %%%% !1110!5N-,L+N626XL;:
M:26!K:1Y(E8O$>L9)'*GNO2JNG^&M!TF7S=-T33;.3.=]M:)&<X(SE0.S,/Q
M/K6I10!4DTO3Y3=F2PM7-X@2ZW0J?/4 @!^/F !(P<\&G6&GV6EVBVFGV=O:
M6R$E8;>)8T&3DX4 #K5FB@ HHHH **** "BBB@ HHHH *S;GP]HM[!+!=Z/I
M\\,T_P!HDCEMD97EQCS"",%L<9ZXK2HH I:?H^F:0A33=.M+)" I6V@6,$ D
M@?*!W9C_ ,"/K4,_AS0[K3X["XT;3IK*-S)';R6J-&CDDE@I& 26;GW/K6G1
M0 4444 %%%% !1110 4444 %-=$EC:.15=&!5E89!!Z@BG44 9%UX4\.7R0)
M=Z!I5PMO&(H1+9QN(D'15R. /0<4^Z\-:#?6T5M=Z)IMQ!$SO'%+:(ZHSG+$
M C ))))[FM2B@#.3P_HL4]I/'I%@DUFGEVLBVR!H%Y^5#C*CD\#UK1HHH **
M** "BBB@ HHHH **** (;FSM;U$2ZMH9U219465 P5U.589Z$'D'M6;+X2\-
MSWDMW-X?TJ2YFW>9,]E&7?<"&RQ&3D$@YZYK8HH R[KPUH-]J U"[T33;B]!
M4BYEM$>0%>AW$9XP,>E7DL[6.[ENX[:%+F956694 =PN=H9NI R<9Z9-344
M%%%% !1110 4444 %%%% !5:;3[*YG$\]G;RS")H1(\09O+;[RY(^Z<#(Z'%
M6:* ,FQ\+^']+F$VGZ%IEI*#N#V]I'&P.",Y '.&(_$^M1KX.\+J\KKX;T<-
M,"LK"QBRX/)#?+R#[UM44 4=-T72M%C>/2M,L[&.0[G6U@6(,?4A0,FKU%%
M!1110 4444 %%%% !1110!GW.@Z/>Q7$5WI-C/'<R"6=);=&$K@8#,"/F(
MR?2HX/#6@VUG+9P:)IL5K,NR6&.U14=<YPR@8(R2<&M2B@#&7PAX92R>R7P[
MI*VLCB1X!91A&89 8KMP2,GGWK7CCCAB2*)%2-%"JBC 4#H .PIU% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %9^H:YIVE2I'>W'E.Z[E&QFR/P!K0HIQM?43O;0
MY/6/&UI#:(VE313SF0!EDB< +@Y/;OBHM%\<13^?_:[PV^-OE>5&YW=<YZ^U
M=-J&FVFJ0+!>1>;&K;PNXKS@CL1ZFF:=H]AI/F?8H/*\W&_YV;.,XZD^IKH4
MZ'L[<KO_ %U_X!SN%;GOS*W]?UN5K?Q1HUW<1V\%YOED;:J^4XR?Q%>9ZQXU
MU>WU+Q'!'KVHQ:C#JBV.CV,=A&UO.[*A6-Y#">22W613CFO8ZY6]\ :/J&G:
MW97$EV4U>Z%Y*ZR /#* H5HSM^7&P'G/?L<5A)Q^RC>/-]IF3JWQ1M-&\0S:
M5<P6O^AO;17;&]5)C)-C_4PX)D5=RECD8R< X-2:!\1+C5WT26ZT5+2RUB>X
MMK>9+SS666(OPR;%PK!&P02<\$8YK7_X0RW&KOJ,6K:K#).(/MB0SJBW;0C"
MLY"[@<8!V%0P !!%8_@WX=MHEII+ZMJ$US<Z=+<RP6T<@-M&\KO\ZY0,6V-C
M!. 2Q SS4E'-:5\4+ZQL$N]7:XO76RNY]B&*-)'6\\B)2!'D'YE&[=C&<J3S
M727'Q(ETNU\3MK&CQV\^A"V!2&]$BSO./D 9D7:,E<DCC)...8-3^$]B=!N[
M;2[J8WIL;BUMS>.#&IEF\[<=B@@AP,$=,#(;O+I'P_N+BV\2KXGN3-)K;0 F
M&Y,CQB% $?S!'&-X?YAA !A>O- $-K\4VU#4[72;#3;&[U":[>U+0:GOMAB'
MS5991&=P(X/R@@@\&M_3?&$>H_#H^+19M&JV<MRUMOW$&,-N7<!SRI&<?A3H
M_!EO_:>G:E=ZKJE]>6-Q)<1R7,R$,SQ^61M50JJ!T"!>>3FKNA>&K#0/#,6@
M0>9<6,:R)BYPQ=79F8-@ $?,1TZ4 9GAJW\07=EI6LWGB%IA=P">YL3:1>2O
MF+N"Q%0'7;D %V?('(R<C)7XG?Z%;ZF^D!=*OTN3I]P+K+RM"K,!(FWY X1L
M$%N@R!FM_2O",>DRVBPZUJ\EC9 K:V#SJ(8EZ*N54.ZJ. )&88QU(!J@GPWT
MA5$+7>H/91+<+:6;2)Y5H9@0[1_+N)PS ;RP7<<"@"G!X]U:XA\,;/#UJ)_$
M2/):QMJ+ 1HL(ERY\KC// !XYY)Q3+7XE3ZI$D.E:&LVI1VDUU>6LUX(UA$4
MC1%5<(V]BRMMX QR2O2K6I>!9Y;KP='INHRVMGH$<D1F#C[1M\@1H5RA0G(&
M<@#&>.U2+\-]+@M8(K'4-3LIX[>6VENH)4\VYCD8NXD+(1DL2V5 ()."* (-
M&^(AU_4KU=/TM#IEG907LMU-=B-]DL;.%"%=H8;<'+@=3GBL2[^*>HW'AKQ'
M-9:;:0:AIEG'<QR"X>:%E<LI96,2A\%>"N4;LQ%=;:^ =#LXM8@@CF6UU6RA
ML9K??\J11QM&H0XR#M8Y))YP:HQ?#/2Q::G;W.IZK=C4;"/3Y7FDCW)$F=FW
M:@ (SZ'/<$YR 9W_  G]Y8:U=6%W:/-?L+""WMEN4\EIYU<\-Y2LHPA))W=.
M%'0V?^%B7;ZG::/'HD1U>2_GL)H7O2(HW2+S582",ED92/X01SQQS=D^'6FS
MSSW4VH:C)>RBV*W1>-7B>WW>7(FU H;YB#D$$=JGM/ 6F6NHV.HFYO9KZUO)
MKU[B5T+7$LB;"7PH& N  H4# H T/"GB!/%/A>PUI+<V_P!J0DPEP^Q@Q4C(
MZ\@\\5LUE>'- M?#&@VVCV4DTEO;[MC3$%SN8L<D #JQ[5JT %%%% !1110
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
MIT]RH51-+:HS@*<J-Q&>"!CTQ4EIHFDV%]<7UGI=E;WEP29[B&W1))23D[F
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
MO*+SQC.VHM;0^-8((UN+]';_ $9F"1*KH!E< C)&2#QG()Y$MMXOO-5\0:+
MGB6.V6ZBM)&BCFLUC<,FYT(D!E9V; !C&W!QD,"0 >I5')/#"T:RRI&97V1A
MF WM@G ]3@$X]C7%Z_K.I6WBR_M=.U4O):Z,]_%I2K$3/,I8*I^7?M/&0"#T
MP1R#B:;XNO!'I1O_ !AILD%SJ)@\^WNH9<QM;,VUW,$:[UD"$ *"-ZALY&0#
MU.BO(M%\4ZUJVD 0^*_M6HOI$>I>7:QVV\,CD21HI0\LHP=W1^1M'RC1\2^)
M-9MVLY]+U^SM['4?.N+6ZOY8XH?E\L1Q!A"^]6R[[>'8'Y7&TY /3**\DUW7
M[Z^AUJUD\1-"EK=12L+418MHQ=HA60N@>,JN3AU(8 L'9245L7B^Y:X9#X_M
MC;M=WENLA%KN$42;U?=MV[LX&<;=K?=SAJ /7:*\JM?&FKZCJ.C-_;>FV-K-
M9VLLBR7"*UP)$/FO&AA;<4;=T=54I\XQ6,?%=]JOAJ%;KQ@))9[.RO9FM_LZ
M>1BZ6.3C:< +RV[(W*>%4E* /;JJW&I6%I>6UG<WMM#=71(MX9)55Y<==JDY
M;'M7-^*=8-BVEP/XA_L>PN896.KD0D&50AC0EU,>'4R-T!/EX!%8WAJX&L>/
M9Y-6OX_[2_L?3YYM*;R2()LS,P"E?,4H2K#G</-&21M  /0);ZT@NHK66Z@C
MN)E9HH7D =POWBHZD#(SCIFI(9HKF".>"5)89%#QR(P974C(((X(([UY??\
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
ML:3P^9-5DN_[6U 6\LJS26.8S"[J% .2A<#Y%. X''3DYV:* "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@"IJ-BVH6OV<7<]LA8>
M88=F9%[H=RG /<C!]"*M    # '0"EHH **** "BBB@!KH)(V1BP# @[6*G\
M".1]165H^A-I14RZK?ZBT<0AA-V(AY2<9 \M$SG"Y+9/ ]\Z]% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 45R7C4:O:VJZA8:_=V,?GV=L+>&"!E/F7*QNY,D;'.V08 P
M 5SSG%4-0U[5?".MQPZA>7NM6":9=7;K%:1+-F.5#O=@43"QL1QMSCHQ(  .
M\HKE9?B%H,7BB#0//+W,KQQ[UDCPKNNY%*%Q(<@K\P0J-P!(.<6M:\2V>C:L
MD%P=0)2PN+UHX+;?&Z1E ><9+C=P%/ )+8^4T =!17#ZGX^9_#6L7>E:9?K>
M6EK%/&MQ'&IV2AMDFTN.,JW!PW'2I]/\1SZ5&]OJBZK?+'.J7%[+#;@V1D"E
M8IA$_P S .I+(I4!P3T)H [&BN1/Q"L! ;C^R=:^S&]^P)*+3.^8.4(VYWJ,
MCJRCKCKD5/I7C>SU6^BM%TW4[9G>>$O/$FU9H6(DB^5CN(QG*Y4] V00 #IZ
M*X6Y^)"M:2FPT2_DNX+VSMY[65H%=%GD"J2/-^5CR K$,&*[@HR:U(_%EO\
M:=0BAM]3NKJ.^%FED8XHV,@A61A&6*C:%RVYVP3G:2"N0#IJ*Y"X^(FG0+;J
MFF:O-<2V\\YMX[8!HO(8+*CLS! RG/\ %C@8)WINW+O7+:UTF#4%CFG6Y\L6
M\4(!>5GQM49( )SU) '4D 4 :=%<[)XM5+:-TT/5Y+DH\DUFL4:S0(C%2S!G
M 8$@XV%MW5<BJI^(.DM>B""VU":'S+5&NUM]L*BX($3;G(R"64?*"><XP"0
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
M_#GC-<QXF\0:S;>(+JSCFU.RLM+L([V:ZM+6WG$X+-NRC$O@B-E7:!AB2V5
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
M:BW*Q/.6+@;HB2 78C)/7OQ5JW\)6EOX*'A;[9>26:V_V=9G*>:J=N0H7(X
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
MD<JN%8J.V_<"0."5)ZLQ(!:N?#6E726\<D,PMX$$:6T=U+' R?W7B5@CCU#
MY'%6;:QD@U2^O&N9'2Y$82$LY6/:""0"Q )SSM"]!D$\G'\7Z]J.C)IMOI5H
ML]YJ%R8$+*K!<(S\*TD08G;C&]>YYQ@X%UXL\3V]SIR7!T>RCO88UE9X6G&G
MS%PI$S)*%V.5=4/&7&TG@D@'0MX%\/M=O<FVN=[^<-GV^?RU$IS(%3?M4,>2
M  ,@'J 1HVV@Z=::7<::D+R6MSO\\3S/,TNX8;<[DLV1QR>@ [5@_P#"2ZH!
MJFJ 6#Z98O=PM98=;HO"I(P^2IW;2=NT85@<GI6/;^,?%SV=N\^G:9";NZM4
M@GFD55,<^X B..:7=@J,,67=G@#!H Z-/ >@1R+((]0+B6.;<^JW3$O'G83F
M3G&<<^WH*?9>!M!T^>":W@O-T#RR()=0N)%W2?ZPE6<AMW4Y!R23U-86GZUX
MBU#Q=I=K+>V*0Q-?0W*PVS[+@PR1C>N9/EX<#!W;6#_>XQ/KNN:KHWBG4;@W
MEL=,M=+CG%N\+#:S2,FYGWX ! ).W[HP,'D@&K_P@GA_[&MH+>[6!)(Y8T74
M+@",QG*!,2?(JGD*N%! .,@8#X%\/D?\>UUN\][CS/M]QO#N,/AM^X*W=<[3
M@9'%3Z-?:H^HZCIFIM:33VJQ2)<VL+1(ZR!OE*,S$,I0Y^8Y#*>*X:P;Q!?7
M7AV[FU&UGU#^U=3@BE>&18XT5IE):,2$/C9\HRI"X7=U) .T@\#^';5;-+73
MVMTLXEAC6"XEC#QAMP60*P$HR2</NSN;U.7Q>#- AU:/4TL#]IBF>>(-/(T<
M4CYW,D9;8I.220!D\]:Y*V^('B#4ETI]/TB"0-I=KJ-]N:-5VRE@^UGF0HJA
M&.[;)G."!C)W_&'B#6=+O--TW0K%;F^OEFD4NJ.H$87Y=K2Q#)W@Y#$@*WRG
ML :MSHY?6VOHO+,5W;BUOHGR-\:[BC*1_$"[#'<-U&T9SG^'WAR2!X)(;]XG
MMQ:LK:I=',0;<$YDZ _IQTXK*D\4Z^OB#3[2232;6SU!8'25H7F%NSJQ,#R+
M*%+L0 C# ;GC)4-GP^)O%-E:BV5K?4K^]U:\MH&6V"B-86?*[7N$#9"\#>"
M#]['(!VMOX7TFUU(:A##.MQD,W^E2E'8+M#NA;:S[0!O8%N.M;%><R>-?$R2
M2R36&EVL%JFG23Q"1IY&^T2^7(@92%!!#8;+#Y1P=WR[_A2;6+E-;:_O[>X9
M-0FAM]MNR",+QR"YR.G QWY.> "[:>$M%L;V.Z@M9-\>[RHWN)'BC+ AF2-F
M**Q!;+  G<V3\QS#'X*T"*RDLTM)O(8H40W<Q\C8VY?))?,.#@CR]N,#T%<'
M;77B'S]$U9K^SN-2:RU1_.FBE\M(TDC./*$F&8D$9!3"E>NP!MV7QKJLFHZ/
M]DCM6M+I;,7*?9W9H6GZ$R%U5>JX4!R><[00: -^[\%:%?VL%O=6]S(D*21A
MC>SAW20@R*[A]TBM@9#$@XIUOX,T*U@O(+>VGAAO(%MYHX[N95\M1M55 ?"8
M''RXZGUJGX.^W:MX5G77Y[741/=743+]F*JR"9T*LK,P(X.!P N!SC)XSX;Z
M9%!?^'IVL++1Y!I9:)[3KJP8#=YA"J-T>%8J0Q^<$-@&@#NYO ^@W$$L$D%X
M8I;9+251J%PHDB0Y4-A_F(Y&3S@D9P<5.?"6C&^-X;>?SF4+(/M<VR4A=H:1
M-VUW Q\[ MP#G(&.+/Q \3MHVHZPFCV26"V\LUJ]S,D84QR!&5MDKL_!8GY(
M]I7!ZY%S5;S4+N\BL=5:W>?3M:L'CEL_,CC99"#L=2QRR\]3@@J< T =CIF@
MZ?H\,\=DDRB?&]I+F25\ 8 #.Q*@#H 0!VQ5:;PEH]QH0T6:.[DL1*)MK7TY
M?>&W@F3?O.&YZ]0*YR7Q)JMK8RM;65E:SOJ]Q;RM;V<MW@(I(;RHRKR,VU06
M'3.2,57D\7^+X9["R.CVSWT6GPW^IIA(T4.[!D4O.-@0(P+XDR2,A>X!UT7A
MC2H-4748XKA;D;2W^ES%)&5=H:1-VUW  ^9@6X!SD"K6DZ19:'8+8Z>DJ6R'
M*)).\NSV4N20OH!P.PKE=*\4Z[<:_:6]_!IT5K<:A=V*I!O=QY*NP<N2!_!C
M&WGKD=*T-8\0:CI_B6VLXH[3[#((D:24,2))'8*I*$E,[<+N3:2?O@@(P!K:
M9ITMO>7NH7;1M>794,(\[8XTSL0$]<;F).!DL> ,56'A'15DNF2WF07(DWHE
MW*J(7SO:-0VV-FR<L@4G)YY-<@OC[7K/18]7O[73)XY[2\E2UM"X:-X#C+2,
M<%#R"=J[3CKGB]:>)O$TSVVFW=O86.H7=P5MKFXC5D:,1&3)ACG?DE6 _>\@
M%NVV@#K[;2;*UT9-(BC<V*P^0(Y)7<[,8V[F)8\<=:Q'^'WAV2*2*2'4'22!
M;9P^JW39C5MRKS)T!)QZ9(Z&LK6=5U@Q:K&$TNVOHO#YN%O;??*P<$^8JGY2
M%RIV\]<$],5EZ;(O@B.=X],T=&.DK>O<V\;PAG+I&2RDL(T"A"V"=Q4L<=*
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
MM8FC2177=@HS,58<Y&XY!4\9P "_I^EZ?I,+PZ;86MG%(YD=+:%8U9S@%B%
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
6BBB@ HHHH **** "BBB@ HHHH __V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>11
<FILENAME>rgen-20231231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA WITH EMBEDDED LINKBASES DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- DFIN New ActiveDisclosure (SM) XBRL Schema Document - http://www.dfinsolutions.com/ -->
<!-- Creation Date :2024-02-21T22:07:06.8085+00:00 -->
<!-- Copyright (c) 2024 Donnelly Financial Solutions, Inc. All Rights Reserved. -->
<xsd:schema targetNamespace="http://www.repligencorp.com/20231231" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:ecd-sub="http://xbrl.sec.gov/ecd-sub/2023" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:rgen="http://www.repligencorp.com/20231231" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:srt="http://fasb.org/srt/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:xlink="http://www.w3.org/1999/xlink">
  <xsd:import schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" namespace="http://www.xbrl.org/2003/instance"/>
  <xsd:import schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" namespace="http://www.xbrl.org/2003/linkbase"/>
  <xsd:import schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" namespace="http://xbrl.org/2005/xbrldt"/>
  <xsd:import schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" namespace="http://xbrl.sec.gov/dei/2023"/>
  <xsd:import schemaLocation="https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd" namespace="http://xbrl.org/2020/extensible-enumerations-2.0"/>
  <xsd:import schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd" namespace="http://xbrl.sec.gov/ecd-sub/2023"/>
  <xsd:import schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" namespace="http://fasb.org/us-gaap/2023"/>
  <xsd:import schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" namespace="http://xbrl.sec.gov/country/2023"/>
  <xsd:import schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" namespace="http://www.xbrl.org/dtr/type/2022-03-31"/>
  <xsd:import schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" namespace="http://xbrl.sec.gov/ecd/2023"/>
  <xsd:import schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" namespace="http://fasb.org/srt/2023"/>
  <xsd:annotation>
    <xsd:appinfo>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CoverPage" id="CoverPage">
        <link:definition>100000 - Document - Cover Page</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets" id="ConsolidatedBalanceSheets">
        <link:definition>100010 - Statement - CONSOLIDATED BALANCE SHEETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail2" id="DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail2">
        <link:definition>100020 - Disclosure - Goodwill and Intangible Assets - Schedule of Intangible Assets (Detail) 2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2" id="DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2">
        <link:definition>100030 - Disclosure - Income Taxes - Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail) 2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail2" id="DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail2">
        <link:definition>100040 - Disclosure - Leases - Summary of Maturities of Operating Lease Liabilities (Detail) 2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail2" id="DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail2">
        <link:definition>100050 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (Detail) 2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical" id="ConsolidatedBalanceSheetsParenthetical">
        <link:definition>100060 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome" id="ConsolidatedStatementsOfComprehensiveIncome">
        <link:definition>100070 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity" id="ConsolidatedStatementsOfStockholdersEquity">
        <link:definition>100080 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquityParenthetical" id="ConsolidatedStatementsOfStockholdersEquityParenthetical">
        <link:definition>100090 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows" id="ConsolidatedStatementsOfCashFlows">
        <link:definition>100100 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness" id="OrganizationAndNatureOfBusiness">
        <link:definition>995455 - Disclosure - Organization and Nature of Business</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies" id="SummaryOfSignificantAccountingPolicies">
        <link:definition>995465 - Disclosure - Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurements" id="DisclosureFairValueMeasurements">
        <link:definition>995475 - Disclosure - Fair Value Measurements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/Acquisitions" id="Acquisitions">
        <link:definition>995485 - Disclosure - Acquisitions</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlan" id="DisclosureRestructuringPlan">
        <link:definition>995495 - Disclosure - Restructuring Plan</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/Leases" id="Leases">
        <link:definition>995505 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognition" id="RevenueRecognition">
        <link:definition>995515 - Disclosure - Revenue Recognition</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CreditLosses" id="CreditLosses">
        <link:definition>995525 - Disclosure - Credit Losses</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssets" id="GoodwillAndIntangibleAssets">
        <link:definition>995535 - Disclosure - Goodwill and Intangible Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail" id="ConsolidatedBalanceSheetDetail">
        <link:definition>995545 - Disclosure - Consolidated Balance Sheet Detail</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes" id="IncomeTaxes">
        <link:definition>995555 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquity" id="StockholdersEquity">
        <link:definition>995565 - Disclosure - Stockholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingencies" id="CommitmentsAndContingencies">
        <link:definition>995575 - Disclosure - Commitments and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotes" id="ConvertibleSeniorNotes">
        <link:definition>995585 - Disclosure - Convertible Senior Notes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss" id="AccumulatedOtherComprehensiveIncomeLoss">
        <link:definition>995595 - Disclosure - Accumulated Other Comprehensive Income (Loss)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans" id="EmployeeBenefitPlans">
        <link:definition>995605 - Disclosure - Employee Benefit Plans</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions" id="RelatedPartyTransactions">
        <link:definition>995615 - Disclosure - Related Party Transactions</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited" id="SelectedQuarterlyFinancialDataUnaudited">
        <link:definition>995625 - Disclosure - Selected Quarterly Financial Data (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies" id="SummaryOfSignificantAccountingPoliciesPolicies">
        <link:definition>995635 - Disclosure - Summary of Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables" id="SummaryOfSignificantAccountingPoliciesTables">
        <link:definition>995645 - Disclosure - Summary of Significant Accounting Policies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables" id="DisclosureFairValueMeasurementsTables">
        <link:definition>995655 - Disclosure - Fair Value Measurements (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables" id="AcquisitionsTables">
        <link:definition>995665 - Disclosure - Acquisitions (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanTables" id="DisclosureRestructuringPlanTables">
        <link:definition>995675 - Disclosure - Restructuring Plan (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables" id="LeasesTables">
        <link:definition>995685 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognitionTables" id="RevenueRecognitionTables">
        <link:definition>995695 - Disclosure - Revenue Recognition (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CreditLossesTables" id="CreditLossesTables">
        <link:definition>995705 - Disclosure - Credit Losses (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables" id="GoodwillAndIntangibleAssetsTables">
        <link:definition>995715 - Disclosure - Goodwill and Intangible Assets (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables" id="ConsolidatedBalanceSheetDetailTables">
        <link:definition>995725 - Disclosure - Consolidated Balance Sheet Detail (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables" id="IncomeTaxesTables">
        <link:definition>995735 - Disclosure - Income Taxes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables" id="StockholdersEquityTables">
        <link:definition>995745 - Disclosure - Stockholders' Equity (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesTables" id="ConvertibleSeniorNotesTables">
        <link:definition>995755 - Disclosure - Convertible Senior Notes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables" id="AccumulatedOtherComprehensiveIncomeLossTables">
        <link:definition>995765 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables" id="SelectedQuarterlyFinancialDataUnauditedTables">
        <link:definition>995775 - Disclosure - Selected Quarterly Financial Data (Unaudited) (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureOrganizationAndNatureOfBusinessAdditionalInformationDetail" id="DisclosureOrganizationAndNatureOfBusinessAdditionalInformationDetail">
        <link:definition>995785 - Disclosure - Organization and Nature of Business - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" id="DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail">
        <link:definition>995795 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail" id="DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail">
        <link:definition>995805 - Disclosure - Summary of Significant Accounting Policies - Estimated Useful Life of Assets (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail" id="DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail">
        <link:definition>995815 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail" id="DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail">
        <link:definition>995825 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (parenthetical) (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail" id="DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail">
        <link:definition>995835 - Disclosure - Summary of Significant Accounting Policies - Summary of Product Revenues by Product Line (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail" id="DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail">
        <link:definition>995845 - Disclosure - Summary of Significant Accounting Policies - Percentage of Revenue by Geographic Area (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail" id="DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail">
        <link:definition>995855 - Disclosure - Summary of Significant Accounting Policies - Total Assets by Geographic Area (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail" id="DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail">
        <link:definition>995865 - Disclosure - Summary of Significant Accounting Policies - Long Lived Assets by Geographic Area (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail" id="DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail">
        <link:definition>995875 - Disclosure - Fair Value Measurements - Summary of Company's Cash, Cash Equivalents and Marketable Securities Held to Maturity (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail" id="DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail">
        <link:definition>995885 - Disclosure - Fair Value Measurements - Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail" id="DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail">
        <link:definition>995895 - Disclosure - Fair Value Measurements - Schedule of Financial Assets and Financial Liabilities Measured at Fair Value on a Recurring Basis (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail" id="DisclosureFairValueMeasurementsAdditionalInformationDetail">
        <link:definition>995905 - Disclosure - Fair Value Measurements - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail" id="DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail">
        <link:definition>995915 - Disclosure - Fair Value Measurements - Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail" id="DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail">
        <link:definition>995925 - Disclosure - Fair Value Measurements - Schedule of Contingent Consideration Earnout Expect to be Required to Settle include Significant unobservable Inputs (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail" id="AcquisitionsAdditionalInformationDetail">
        <link:definition>995935 - Disclosure - Acquisitions - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail" id="DisclosureAcquisitionsConsiderationTransferredDetail">
        <link:definition>995945 - Disclosure - Acquisitions - Consideration Transferred (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail" id="DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail">
        <link:definition>995955 - Disclosure - Acquisitions - Fair Value of Net Assets Acquired (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail" id="DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail">
        <link:definition>995965 - Disclosure - Acquisitions - Estimated Useful Life and Fair Value (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail" id="DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail">
        <link:definition>995975 - Disclosure - Acquisitions - Unaudited Supplemental Pro Forma Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail" id="DisclosureRestructuringPlanAdditionalInformationDetail">
        <link:definition>995985 - Disclosure - Restructuring Plan - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail" id="DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail">
        <link:definition>995995 - Disclosure - Restructuring Plan - Summary of Restructuring Activities by Type of Cost (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail" id="DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail">
        <link:definition>996005 - Disclosure - Restructuring Plan - Summary of Activity Related to Restructuring Plan (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail" id="LeasesAdditionalInformationDetail">
        <link:definition>996015 - Disclosure - Leases - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail" id="DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail">
        <link:definition>996025 - Disclosure - Leases - Summary of Maturities of Operating Lease Liabilities (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail" id="DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail">
        <link:definition>996035 - Disclosure - Leases - Summary of Maturities of Operating Lease Liabilities (parenthetical) (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail" id="DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail">
        <link:definition>996045 - Disclosure - Leases - Summary of Operating Lease Liability (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail" id="DisclosureLeasesSummaryOfOperatingLeaseCostDetail">
        <link:definition>996055 - Disclosure - Leases - Summary of Operating Lease Cost (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesDetail" id="DisclosureLeasesScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesDetail">
        <link:definition>996065 - Disclosure - Leases - Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail" id="DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail">
        <link:definition>996075 - Disclosure - Leases - Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail" id="DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail">
        <link:definition>996085 - Disclosure - Revenue Recognition - Summary of Disaggregation of Revenue (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail" id="DisclosureRevenueRecognitionAdditionalInformationDetail">
        <link:definition>996095 - Disclosure - Revenue Recognition - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail" id="DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail">
        <link:definition>996105 - Disclosure - Revenue Recognition - Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesAdditionalInformationDetail" id="DisclosureCreditLossesAdditionalInformationDetail">
        <link:definition>996115 - Disclosure - Credit Losses - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail" id="DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail">
        <link:definition>996125 - Disclosure - Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail" id="DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail">
        <link:definition>996135 - Disclosure - Goodwill and Intangible Assets - Changes in Carrying Value of Goodwill (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail" id="DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail">
        <link:definition>996145 - Disclosure - Goodwill and Intangible Assets - Schedule of Intangible Assets (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsDetailParenthetical" id="DisclosureGoodwillAndIntangibleAssetsDetailParenthetical">
        <link:definition>996155 - Disclosure - Goodwill and Intangible Assets (Detail) (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail" id="GoodwillAndIntangibleAssetsAdditionalInformationDetail">
        <link:definition>996165 - Disclosure - Goodwill and Intangible Assets - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail" id="DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail">
        <link:definition>996175 - Disclosure - Goodwill and Intangible Assets - Amortization Expense for Amortized Intangible Assets (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail" id="DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail">
        <link:definition>996185 - Disclosure - Consolidated Balance Sheet Detail - Schedule of Inventories (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail" id="DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail">
        <link:definition>996195 - Disclosure - Consolidated Balance Sheet Detail - Prepaid Expenses and Other Current Assets (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail" id="DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail">
        <link:definition>996205 - Disclosure - Consolidated Balance Sheet Detail - Property, Plant and Equipment (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail" id="DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail">
        <link:definition>996215 - Disclosure - Consolidated Balance Sheet Detail - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail" id="DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail">
        <link:definition>996225 - Disclosure - Consolidated Balance Sheet Detail - Schedule of Accrued Liabilities (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail" id="DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail">
        <link:definition>996235 - Disclosure - Income Taxes - Income Before Income Taxes (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail" id="DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail">
        <link:definition>996245 - Disclosure - Income Taxes - Current, Deferred and Equity Income Taxes (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail" id="DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail">
        <link:definition>996255 - Disclosure - Income Taxes - Provision for Income Taxes by Jurisdiction (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail" id="IncomeTaxesAdditionalInformationDetail">
        <link:definition>996265 - Disclosure - Income Taxes - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail" id="DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail">
        <link:definition>996275 - Disclosure - Income Taxes - Consolidated Deferred Tax Assets (Liabilities) (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail" id="DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail">
        <link:definition>996285 - Disclosure - Income Taxes - Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail" id="DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail">
        <link:definition>996295 - Disclosure - Income Taxes - 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:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail" id="DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail">
        <link:definition>996305 - Disclosure - Income Taxes - Reconciliation of Unrecognized Tax Benefits (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail" id="StockholdersEquityAdditionalInformationDetail">
        <link:definition>996315 - Disclosure - Stockholders' Equity - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail" id="DisclosureStockholdersEquityStockbasedCompensationExpenseDetail">
        <link:definition>996325 - Disclosure - Stockholders' Equity -Stock-Based Compensation Expense (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail" id="DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail">
        <link:definition>996335 - Disclosure - Stockholders' Equity - Estimated Weighted Average Assumptions (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail" id="DisclosureStockholdersEquitySummaryOfOptionActivityDetail">
        <link:definition>996345 - Disclosure - Stockholders' Equity -Summary of Option Activity (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail" id="DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail">
        <link:definition>996355 - Disclosure - Stockholders' Equity - Summary of Option Activity (Parenthetical) (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail" id="DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail">
        <link:definition>996365 - Disclosure - Stockholders' Equity - Summary of Restricted Stock Unit Activity (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail" id="DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail">
        <link:definition>996375 - Disclosure - Stockholders' Equity - Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail" id="CommitmentsAndContingenciesAdditionalInformationDetail">
        <link:definition>996385 - Disclosure - Commitments and Contingencies - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail" id="DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail">
        <link:definition>996395 - Disclosure - Convertible Senior Notes - Carrying Value of Convertible Senior Notes (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail" id="ConvertibleSeniorNotesAdditionalInformationDetail">
        <link:definition>996405 - Disclosure - Convertible Senior Notes - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail" id="DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail">
        <link:definition>996415 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Changes in Accumulated Other Comprehensive Income (Loss) (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail" id="EmployeeBenefitPlansAdditionalInformationDetail">
        <link:definition>996425 - Disclosure - Employee Benefit Plans - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail" id="RelatedPartyTransactionsAdditionalInformationDetail">
        <link:definition>996435 - Disclosure - Related Party Transactions - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:linkbase id="lnk">
        <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" xlink:type="simple"/>
        <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" xlink:type="simple"/>
        <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" xlink:type="simple"/>
        <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" xlink:type="simple"/>
        <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets" xlink:href="rgen-20231231.xsd#ConsolidatedBalanceSheets" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail2" xlink:href="rgen-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail2" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2" xlink:href="rgen-20231231.xsd#DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail2" xlink:href="rgen-20231231.xsd#DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail2" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail2" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail2" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:href="rgen-20231231.xsd#ConsolidatedStatementsOfComprehensiveIncome" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows" xlink:href="rgen-20231231.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail" xlink:href="rgen-20231231.xsd#DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail" xlink:href="rgen-20231231.xsd#DisclosureAcquisitionsConsiderationTransferredDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail" xlink:href="rgen-20231231.xsd#DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail" xlink:href="rgen-20231231.xsd#DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail" xlink:href="rgen-20231231.xsd#DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail" xlink:href="rgen-20231231.xsd#DisclosureLeasesSummaryOfOperatingLeaseCostDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail" xlink:href="rgen-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail" xlink:href="rgen-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail" xlink:href="rgen-20231231.xsd#DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail" xlink:href="rgen-20231231.xsd#DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail" xlink:href="rgen-20231231.xsd#DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail" xlink:href="rgen-20231231.xsd#DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail" xlink:href="rgen-20231231.xsd#DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail" xlink:href="rgen-20231231.xsd#DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail" xlink:href="rgen-20231231.xsd#DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail" xlink:href="rgen-20231231.xsd#DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CoverPage" xlink:href="rgen-20231231.xsd#CoverPage" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="rgen-20231231.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity" xlink:href="rgen-20231231.xsd#ConsolidatedStatementsOfStockholdersEquity" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquityParenthetical" xlink:href="rgen-20231231.xsd#ConsolidatedStatementsOfStockholdersEquityParenthetical" xlink:type="simple"/>
        <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#InsiderTradingArrangements" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness" xlink:href="rgen-20231231.xsd#OrganizationAndNatureOfBusiness" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies" xlink:href="rgen-20231231.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurements" xlink:href="rgen-20231231.xsd#DisclosureFairValueMeasurements" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/Acquisitions" xlink:href="rgen-20231231.xsd#Acquisitions" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlan" xlink:href="rgen-20231231.xsd#DisclosureRestructuringPlan" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/Leases" xlink:href="rgen-20231231.xsd#Leases" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognition" xlink:href="rgen-20231231.xsd#RevenueRecognition" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CreditLosses" xlink:href="rgen-20231231.xsd#CreditLosses" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssets" xlink:href="rgen-20231231.xsd#GoodwillAndIntangibleAssets" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail" xlink:href="rgen-20231231.xsd#ConsolidatedBalanceSheetDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes" xlink:href="rgen-20231231.xsd#IncomeTaxes" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquity" xlink:href="rgen-20231231.xsd#StockholdersEquity" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingencies" xlink:href="rgen-20231231.xsd#CommitmentsAndContingencies" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotes" xlink:href="rgen-20231231.xsd#ConvertibleSeniorNotes" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss" xlink:href="rgen-20231231.xsd#AccumulatedOtherComprehensiveIncomeLoss" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans" xlink:href="rgen-20231231.xsd#EmployeeBenefitPlans" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions" xlink:href="rgen-20231231.xsd#RelatedPartyTransactions" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited" xlink:href="rgen-20231231.xsd#SelectedQuarterlyFinancialDataUnaudited" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="rgen-20231231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables" xlink:href="rgen-20231231.xsd#SummaryOfSignificantAccountingPoliciesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables" xlink:href="rgen-20231231.xsd#DisclosureFairValueMeasurementsTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables" xlink:href="rgen-20231231.xsd#AcquisitionsTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanTables" xlink:href="rgen-20231231.xsd#DisclosureRestructuringPlanTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables" xlink:href="rgen-20231231.xsd#LeasesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognitionTables" xlink:href="rgen-20231231.xsd#RevenueRecognitionTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CreditLossesTables" xlink:href="rgen-20231231.xsd#CreditLossesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables" xlink:href="rgen-20231231.xsd#GoodwillAndIntangibleAssetsTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables" xlink:href="rgen-20231231.xsd#ConsolidatedBalanceSheetDetailTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables" xlink:href="rgen-20231231.xsd#IncomeTaxesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables" xlink:href="rgen-20231231.xsd#StockholdersEquityTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesTables" xlink:href="rgen-20231231.xsd#ConvertibleSeniorNotesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables" xlink:href="rgen-20231231.xsd#AccumulatedOtherComprehensiveIncomeLossTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables" xlink:href="rgen-20231231.xsd#SelectedQuarterlyFinancialDataUnauditedTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureOrganizationAndNatureOfBusinessAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#DisclosureOrganizationAndNatureOfBusinessAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail" xlink:href="rgen-20231231.xsd#DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail" xlink:href="rgen-20231231.xsd#DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail" xlink:href="rgen-20231231.xsd#DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#DisclosureFairValueMeasurementsAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail" xlink:href="rgen-20231231.xsd#DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail" xlink:href="rgen-20231231.xsd#DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#AcquisitionsAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail" xlink:href="rgen-20231231.xsd#DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail" xlink:href="rgen-20231231.xsd#DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#DisclosureRestructuringPlanAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail" xlink:href="rgen-20231231.xsd#DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail" xlink:href="rgen-20231231.xsd#DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#LeasesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail" xlink:href="rgen-20231231.xsd#DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesDetail" xlink:href="rgen-20231231.xsd#DisclosureLeasesScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail" xlink:href="rgen-20231231.xsd#DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail" xlink:href="rgen-20231231.xsd#DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#DisclosureRevenueRecognitionAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail" xlink:href="rgen-20231231.xsd#DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#DisclosureCreditLossesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail" xlink:href="rgen-20231231.xsd#DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail" xlink:href="rgen-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsDetailParenthetical" xlink:href="rgen-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsDetailParenthetical" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#GoodwillAndIntangibleAssetsAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail" xlink:href="rgen-20231231.xsd#DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#IncomeTaxesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail" xlink:href="rgen-20231231.xsd#DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail" xlink:href="rgen-20231231.xsd#DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#StockholdersEquityAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail" xlink:href="rgen-20231231.xsd#DisclosureStockholdersEquityStockbasedCompensationExpenseDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail" xlink:href="rgen-20231231.xsd#DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail" xlink:href="rgen-20231231.xsd#DisclosureStockholdersEquitySummaryOfOptionActivityDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail" xlink:href="rgen-20231231.xsd#DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail" xlink:href="rgen-20231231.xsd#DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail" xlink:href="rgen-20231231.xsd#DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#CommitmentsAndContingenciesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail" xlink:href="rgen-20231231.xsd#DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#ConvertibleSeniorNotesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail" xlink:href="rgen-20231231.xsd#DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#EmployeeBenefitPlansAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail" xlink:href="rgen-20231231.xsd#RelatedPartyTransactionsAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" xlink:type="simple"/>
        <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/IndividualsOnly" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#IndividualsOnly" xlink:type="simple"/>
        <link:roleRef roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd#eedm" xlink:type="simple"/>
        <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:title="labelLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_VolatilityRateOfContingentConsideration" xlink:label="rgen_VolatilityRateOfContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" xlink:label="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangeAmount" xlink:label="rgen_DebtInstrumentExchangeAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="us-gaap_MoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestOnConvertibleDebtNetOfTax" xlink:label="us-gaap_InterestOnConvertibleDebtNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveLineItems" xlink:label="us-gaap_RestructuringCostAndReserveLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentOther" xlink:label="us-gaap_PropertyPlantAndEquipmentOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMember" xlink:label="us-gaap_OtherAssetsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IntangibleAssetsLineItems" xlink:label="rgen_IntangibleAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" xlink:label="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CustomerNumberOneMember" xlink:label="rgen_CustomerNumberOneMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangedAmountCancelled" xlink:label="rgen_DebtInstrumentExchangedAmountCancelled"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RDAndCommercializationBasedPaymentsMember" xlink:label="rgen_RDAndCommercializationBasedPaymentsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FiltrationProductsMember" xlink:label="rgen_FiltrationProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputEarnoutDiscountRateMember" xlink:label="rgen_MeasurementInputEarnoutDiscountRateMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_SE" xlink:label="country_SE"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SalesRevenuesGoodsNetMember" xlink:label="rgen_SalesRevenuesGoodsNetMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SubscriptionTransactionMember" xlink:label="rgen_SubscriptionTransactionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessAcquisitionWorkingCapitalAdjustments" xlink:label="rgen_BusinessAcquisitionWorkingCapitalAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentFaceAmountRemaining" xlink:label="rgen_DebtInstrumentFaceAmountRemaining"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesLineItems" xlink:label="rgen_IncomeTaxesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ForeignEarningsSubjectToOneTimeTransitionTax" xlink:label="rgen_ForeignEarningsSubjectToOneTimeTransitionTax"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockOptionAndIncentivePlanMember" xlink:label="rgen_StockOptionAndIncentivePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIntangibleAssetsTable" xlink:label="rgen_ScheduleOfIntangibleAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonrecurringAdjustmentDomain" xlink:label="us-gaap_NonrecurringAdjustmentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeSeveranceMember" xlink:label="us-gaap_EmployeeSeveranceMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LeaseIncentives" xlink:label="rgen_LeaseIncentives"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:label="us-gaap_SegmentReportingAssetReconcilingItemLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CapacityOfBioreactors" xlink:label="rgen_CapacityOfBioreactors"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ReconciliationOfBasicAndDilutedAbstract" xlink:label="rgen_ReconciliationOfBasicAndDilutedAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleNotesMember" xlink:label="rgen_ConvertibleNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" xlink:label="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentOfExciseTaxOnNetStockRepurchases" xlink:label="rgen_PercentOfExciseTaxOnNetStockRepurchases"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss" xlink:label="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" xlink:label="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:label="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TwoZeroOneNineNotesMember" xlink:label="rgen_TwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireSoftware" xlink:label="us-gaap_PaymentsToAcquireSoftware"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsMember" xlink:label="us-gaap_CashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" xlink:label="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense" xlink:label="us-gaap_AdvertisingExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfDebtIssuanceCost" xlink:label="rgen_AmortizationOfDebtIssuanceCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy" xlink:label="us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Land" xlink:label="us-gaap_Land"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangedAmount" xlink:label="rgen_DebtInstrumentExchangedAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxRateReconciliationLineItems" xlink:label="rgen_IncomeTaxRateReconciliationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentAccruedAndUnpaidInterest" xlink:label="rgen_DebtInstrumentAccruedAndUnpaidInterest"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost" xlink:label="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeFixedInterestRate" xlink:label="us-gaap_DerivativeFixedInterestRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:label="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringReserveSettledWithoutCash2" xlink:label="us-gaap_RestructuringReserveSettledWithoutCash2"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xlink:label="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesPolicy" xlink:label="us-gaap_MarketableSecuritiesPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillPurchaseAccountingAdjustments" xlink:label="us-gaap_GoodwillPurchaseAccountingAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AssetsNonCurrentExcludingDifferedTaxAssets" xlink:label="rgen_AssetsNonCurrentExcludingDifferedTaxAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AccumulatedDeficitMember" xlink:label="rgen_AccumulatedDeficitMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiablitiesMember" xlink:label="rgen_DeferredTaxLiablitiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="us-gaap_OtherIntangibleAssetsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock" xlink:label="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="us-gaap_AssetsFairValueDisclosure"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentConvertibleIntoEquitySettled" xlink:label="rgen_DebtInstrumentConvertibleIntoEquitySettled"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityDomain" xlink:label="rgen_FacilityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:label="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherDirectorsOrOfficersMember" xlink:label="rgen_OtherDirectorsOrOfficersMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedComputerSoftwareGross" xlink:label="us-gaap_CapitalizedComputerSoftwareGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DiscountRate" xlink:label="rgen_DiscountRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityExitAndOtherExitCostsMember" xlink:label="rgen_FacilityExitAndOtherExitCostsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue" xlink:label="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnlimitedCarryforwardPeriodMember" xlink:label="rgen_UnlimitedCarryforwardPeriodMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:label="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IndefiniteLivedIntangibleAssetsNet" xlink:label="rgen_IndefiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" xlink:label="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreaseDecreaseInOperatingLeaseAsset" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseAsset"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock" xlink:label="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" xlink:label="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnderwriterMember" xlink:label="rgen_UnderwriterMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsGross" xlink:label="us-gaap_LeaseholdImprovementsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PfizerMember" xlink:label="rgen_PfizerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="us-gaap_DisaggregationOfRevenueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:label="us-gaap_DefinedBenefitPlanContributionsByEmployer"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_APACMember" xlink:label="rgen_APACMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" xlink:label="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProbabilityOfSuccess" xlink:label="rgen_ProbabilityOfSuccess"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DefinedContributionPlanEmployeeEligibilityAge" xlink:label="rgen_DefinedContributionPlanEmployeeEligibilityAge"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByBalanceSheetGroupingTable" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="us-gaap_CashAndCashEquivalentsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:label="us-gaap_DebtConversionConvertedInstrumentAmount1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtFairValue" xlink:label="us-gaap_LongTermDebtFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationObligationEstimated" xlink:label="rgen_ContingentConsiderationObligationEstimated"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashConsiderationExcludingRestrictedCash" xlink:label="rgen_CashConsiderationExcludingRestrictedCash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringReserve" xlink:label="us-gaap_RestructuringReserve"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxImpactOnConversionFeature" xlink:label="rgen_DeferredTaxImpactOnConversionFeature"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName" xlink:label="dei_AuditorName"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentIssuedForCash" xlink:label="rgen_DebtInstrumentIssuedForCash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ChromatographyProductsMember" xlink:label="rgen_ChromatographyProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRestructuring" xlink:label="us-gaap_PaymentsForRestructuring"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RoyaltyMember" xlink:label="us-gaap_RoyaltyMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FairValueOfEmbeddedConversionOptionMember" xlink:label="rgen_FairValueOfEmbeddedConversionOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DilutiveSecuritiesAbstract" xlink:label="us-gaap_DilutiveSecuritiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="us-gaap_MeasurementInputTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquipmentMember" xlink:label="us-gaap_EquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NumberOfManufacturingSites" xlink:label="rgen_NumberOfManufacturingSites"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenue" xlink:label="us-gaap_DeferredRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaid" xlink:label="us-gaap_IncomeTaxesPaid"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationTechniqueDomain" xlink:label="us-gaap_ValuationTechniqueDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh" xlink:label="us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ComputerHardwareAndSoftwareMemberMember" xlink:label="rgen_ComputerHardwareAndSoftwareMemberMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" xlink:label="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AdditionalUndiscountedInContingentConsiderationEarnoutPayments" xlink:label="rgen_AdditionalUndiscountedInContingentConsiderationEarnoutPayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesIncMember" xlink:label="rgen_CTechnologiesIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" xlink:label="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherProductsMember" xlink:label="rgen_OtherProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasuryBillSecuritiesMember" xlink:label="us-gaap_USTreasuryBillSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrustForBenefitOfEmployeesMember" xlink:label="us-gaap_TrustForBenefitOfEmployeesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateTerms" xlink:label="us-gaap_DebtInstrumentInterestRateTerms"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportingUnits" xlink:label="us-gaap_NumberOfReportingUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationTaxContingencies" xlink:label="us-gaap_IncomeTaxReconciliationTaxContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignPlanMember" xlink:label="us-gaap_ForeignPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnvestedOptionsMember" xlink:label="rgen_UnvestedOptionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" xlink:label="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ManufacturingLineExpansionsMember" xlink:label="rgen_ManufacturingLineExpansionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NumberOfSharesBasicOutstanding" xlink:label="rgen_NumberOfSharesBasicOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProteinsProductsMember" xlink:label="rgen_ProteinsProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProbabilityWeightedPresentValueMember" xlink:label="rgen_ProbabilityWeightedPresentValueMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:label="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FederalAndStateMember" xlink:label="rgen_FederalAndStateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="us-gaap_MeasurementInputTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveAxis" xlink:label="us-gaap_RestructuringCostAndReserveAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" xlink:label="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NewtonNewJerseyMember" xlink:label="rgen_NewtonNewJerseyMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:label="rgen_ScheduleOfAccruedLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangedTwoZeroOneNineNotesMember" xlink:label="rgen_ExchangedTwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingsAndImprovementsGross" xlink:label="us-gaap_BuildingsAndImprovementsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OpenTaxYear" xlink:label="us-gaap_OpenTaxYear"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_APACOtherMember" xlink:label="rgen_APACOtherMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationConsiderationIndemnificationEscrow" xlink:label="rgen_BusinessCombinationConsiderationIndemnificationEscrow"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionPlansDefinedBenefitMember" xlink:label="us-gaap_PensionPlansDefinedBenefitMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" xlink:label="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2043Member" xlink:label="rgen_TaxYear2043Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonEmployeeDirectorStockOptionMember" xlink:label="rgen_NonEmployeeDirectorStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" xlink:label="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CommitmentsAndContingenciesTable" xlink:label="rgen_CommitmentsAndContingenciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:label="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xlink:label="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DaylightSolutionsIncMember" xlink:label="rgen_DaylightSolutionsIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcceleratedDepreciationMember" xlink:label="rgen_AcceleratedDepreciationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentConvertibleIntoEquity" xlink:label="rgen_DebtInstrumentConvertibleIntoEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssued1" xlink:label="us-gaap_StockIssued1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LatestTaxYearMember" xlink:label="us-gaap_LatestTaxYearMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OutstandingTwoZeroTwoThreeNotesMember" xlink:label="rgen_OutstandingTwoZeroTwoThreeNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract" xlink:label="us-gaap_TextBlockAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="us-gaap_EarningsPerShareBasicAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NGLImpactAMember" xlink:label="rgen_NGLImpactAMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:label="us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesTable" xlink:label="rgen_IncomeTaxesTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ModifiedTwoZeroOneNineNotesMember" xlink:label="rgen_ModifiedTwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashInventoryAdjustments" xlink:label="rgen_NoncashInventoryAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationAdditionalCashForTransactionBonus" xlink:label="rgen_BusinessCombinationAdditionalCashForTransactionBonus"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxAssetsOperatingLeases" xlink:label="rgen_DeferredTaxAssetsOperatingLeases"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" xlink:label="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarliestTaxYearMember" xlink:label="us-gaap_EarliestTaxYearMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationsCashDepositedInEscrowAccount" xlink:label="rgen_BusinessCombinationsCashDepositedInEscrowAccount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLineItems" xlink:label="us-gaap_InventoryLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrincipalOwnerMember" xlink:label="us-gaap_PrincipalOwnerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TonyJHuntMember" xlink:label="rgen_TonyJHuntMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleNotesTransactionCostsOfEquityComponent" xlink:label="rgen_ConvertibleNotesTransactionCostsOfEquityComponent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_InflationReductionActOfTwoThousandTwentyTwoMember" xlink:label="rgen_InflationReductionActOfTwoThousandTwentyTwoMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtNoncurrent" xlink:label="us-gaap_ConvertibleDebtNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:label="us-gaap_ContractualObligationDueInNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationTaxCredits" xlink:label="us-gaap_IncomeTaxReconciliationTaxCredits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentIncreaseAccruedInterest" xlink:label="us-gaap_DebtInstrumentIncreaseAccruedInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" xlink:label="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsNoncurrent" xlink:label="us-gaap_AssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexMember" xlink:label="rgen_BioflexMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashInterestIncome" xlink:label="rgen_NoncashInterestIncome"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanSponsorLocationDomain" xlink:label="us-gaap_RetirementPlanSponsorLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfAccruedLiabilitiesTable" xlink:label="rgen_ScheduleOfAccruedLiabilitiesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditLossAbstract" xlink:label="us-gaap_CreditLossAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" xlink:label="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PostemploymentBenefitsAbstract" xlink:label="us-gaap_PostemploymentBenefitsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesIssued1" xlink:label="us-gaap_NotesIssued1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityAndOtherExitCostsMember" xlink:label="rgen_FacilityAndOtherExitCostsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes" xlink:label="us-gaap_PrepaidTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputRevenueVolumeDiscountRateMember" xlink:label="rgen_MeasurementInputRevenueVolumeDiscountRateMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputProbabilityOfSuccessMember" xlink:label="rgen_MeasurementInputProbabilityOfSuccessMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="us-gaap_ContingentConsiderationTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveEffectOnSharesOfConversionPremium" xlink:label="rgen_DilutiveEffectOnSharesOfConversionPremium"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangeTransactionMember" xlink:label="rgen_ExchangeTransactionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidServicesAndProfessionalFees" xlink:label="rgen_PrepaidServicesAndProfessionalFees"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtTableTextBlock" xlink:label="us-gaap_ConvertibleDebtTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ModificationOfDebt" xlink:label="rgen_ModificationOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RoyaltyExpense" xlink:label="us-gaap_RoyaltyExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_VariableOperatingLeaseCost" xlink:label="rgen_VariableOperatingLeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:label="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" xlink:label="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" xlink:label="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RevenueAndVolumeProjectionsPerformancePeriod" xlink:label="rgen_RevenueAndVolumeProjectionsPerformancePeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExaminationTable" xlink:label="us-gaap_IncomeTaxExaminationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAccountsReceivableMember" xlink:label="us-gaap_TradeAccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangeAndSubscriptionAgreementsMember" xlink:label="rgen_ExchangeAndSubscriptionAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasedAssetsLineItems" xlink:label="us-gaap_OperatingLeasedAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TrueUpCostsDecember2020Member" xlink:label="rgen_TrueUpCostsDecember2020Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfessionalFees" xlink:label="us-gaap_ProfessionalFees"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_InventoryAdjustmentsMember" xlink:label="rgen_InventoryAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:label="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonrecurringAdjustmentAxis" xlink:label="us-gaap_NonrecurringAdjustmentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesDebtDiscount" xlink:label="rgen_DeferredTaxLiabilitiesDebtDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfInventoryStepUp" xlink:label="rgen_AmortizationOfInventoryStepUp"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ExtinguishmentOfDebtAmount" xlink:label="us-gaap_ExtinguishmentOfDebtAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReasonForChangeInDateOfAnnualGoodwillImpairmentTest" xlink:label="us-gaap_ReasonForChangeInDateOfAnnualGoodwillImpairmentTest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SpectrumIncMember" xlink:label="rgen_SpectrumIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NotesMember" xlink:label="rgen_NotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="us-gaap_TaxCreditCarryforwardAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2041Member" xlink:label="rgen_TaxYear2041Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewDateOfAnnualGoodwillImpairmentTest" xlink:label="us-gaap_NewDateOfAnnualGoodwillImpairmentTest"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xlink:label="rgen_DeferredIncomeTaxLiabilitiesFixedAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:label="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:label="us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalUnitsMember" xlink:label="us-gaap_CapitalUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditLossFinancialInstrumentTextBlock" xlink:label="us-gaap_CreditLossFinancialInstrumentTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MilliporeSigmaMember" xlink:label="rgen_MilliporeSigmaMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:label="us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OptionToPurchaseCommonStockMember" xlink:label="rgen_OptionToPurchaseCommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" xlink:label="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" xlink:label="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_WeightedAverageDiscountRate" xlink:label="rgen_WeightedAverageDiscountRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" xlink:label="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CommonStockIssuePricePerShare" xlink:label="rgen_CommonStockIssuePricePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentTypeAxis" xlink:label="us-gaap_InvestmentTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LongTermContingentConsideration" xlink:label="rgen_LongTermContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:label="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DefinedContribution401KPlanMember" xlink:label="rgen_DefinedContribution401KPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExaminationLineItems" xlink:label="us-gaap_IncomeTaxExaminationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesAbstract" xlink:label="us-gaap_RevenuesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksAndTradeNamesMember" xlink:label="us-gaap_TrademarksAndTradeNamesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PuroliteMember" xlink:label="rgen_PuroliteMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xlink:label="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashAndMoneyMarketFundsMember" xlink:label="rgen_CashAndMoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputPriceVolatilityMember" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:label="us-gaap_DebtInstrumentInterestRateDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MonteCarloSimulationMember" xlink:label="rgen_MonteCarloSimulationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementMember" xlink:label="us-gaap_ResearchAndDevelopmentArrangementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TrdArrExpirationDate" xlink:label="rgen_TrdArrExpirationDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillMember" xlink:label="us-gaap_GoodwillMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationTransactionCostPaidDuringPeriod" xlink:label="rgen_BusinessCombinationTransactionCostPaidDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" xlink:label="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HeldToMaturitySecuritiesCurrent" xlink:label="us-gaap_HeldToMaturitySecuritiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideLlcMember" xlink:label="rgen_AvitideLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NetWorkingCapitalExcludingCashAndInventory" xlink:label="rgen_NetWorkingCapitalExcludingCashAndInventory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfCurrentFederalTaxExpenseBenefit" xlink:label="rgen_PercentageOfCurrentFederalTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidInsurance" xlink:label="us-gaap_PrepaidInsurance"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RgenFacilityAxis" xlink:label="rgen_RgenFacilityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityAxis" xlink:label="rgen_FacilityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideAndFlexbiosysMember" xlink:label="rgen_AvitideAndFlexbiosysMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" xlink:label="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvailableForSaleSecuritiesEstimatedFairValue" xlink:label="rgen_AvailableForSaleSecuritiesEstimatedFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UncategorizedAbstract" xlink:label="rgen_UncategorizedAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LeaseObligationsNotYetCommenced" xlink:label="rgen_LeaseObligationsNotYetCommenced"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProcessAnalyticsProductsMember" xlink:label="rgen_ProcessAnalyticsProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockholdersEquityNoteDisclosureTable" xlink:label="rgen_StockholdersEquityNoteDisclosureTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember" xlink:label="us-gaap_TrademarksMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="us-gaap_StateAndLocalJurisdictionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShortTermContingentConsideration" xlink:label="rgen_ShortTermContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherInformationPertainingToIncomeTaxes" xlink:label="us-gaap_OtherInformationPertainingToIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" xlink:label="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationByTypeAxis" xlink:label="us-gaap_ContingentConsiderationByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AccruedLiabilitiesPolicyTextBlock" xlink:label="rgen_AccruedLiabilitiesPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" xlink:label="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xlink:label="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EarnoutConsiderationEarned" xlink:label="rgen_EarnoutConsiderationEarned"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:label="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember" xlink:label="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingStandardsUpdate202006Member" xlink:label="us-gaap_AccountingStandardsUpdate202006Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationExpense" xlink:label="rgen_ContingentConsiderationExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryCurrentTable" xlink:label="us-gaap_InventoryCurrentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RestrictedStockAndPerformanceStockUnitsMember" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="us-gaap_GeographicConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxRateReconciliationTable" xlink:label="rgen_IncomeTaxRateReconciliationTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" xlink:label="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RgenFacilityDomain" xlink:label="rgen_RgenFacilityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentGross" xlink:label="us-gaap_MachineryAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarlyRepaymentOfSeniorDebt" xlink:label="us-gaap_EarlyRepaymentOfSeniorDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockholdersEquityNoteDisclosureLineItems" xlink:label="rgen_StockholdersEquityNoteDisclosureLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_Rule10B51ArrModifiedFlag" xlink:label="rgen_Rule10B51ArrModifiedFlag"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2040Member" xlink:label="rgen_TaxYear2040Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" xlink:label="us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AreaOfLand" xlink:label="us-gaap_AreaOfLand"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYearTwoThousandThirtySevenMember" xlink:label="rgen_TaxYearTwoThousandThirtySevenMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:label="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationMember" xlink:label="rgen_ContingentConsiderationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LossOnDebtConversion" xlink:label="rgen_LossOnDebtConversion"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentFaceAmountInCash" xlink:label="rgen_DebtInstrumentFaceAmountInCash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:label="us-gaap_WeightedAverageNumberOfSharesRestrictedStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationTechniqueAxis" xlink:label="us-gaap_ValuationTechniqueAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SubscriptionTransactionsMember" xlink:label="rgen_SubscriptionTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CommitmentsAndContingenciesLineItems" xlink:label="rgen_CommitmentsAndContingenciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="us-gaap_CostsAndExpensesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RevenueAndVolumeDiscountRate" xlink:label="rgen_RevenueAndVolumeDiscountRate"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RevenueAndVolumeBasedPaymentsMember" xlink:label="rgen_RevenueAndVolumeBasedPaymentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesGross" xlink:label="us-gaap_FurnitureAndFixturesGross"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" xlink:label="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OptionToPurchaseAdditionalDebtFaceAmount" xlink:label="rgen_OptionToPurchaseAdditionalDebtFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" xlink:label="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="us-gaap_DeferredRevenueCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TwoZeroTwoThreeNotesMember" xlink:label="rgen_TwoZeroTwoThreeNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonExecutiveMember" xlink:label="rgen_NonExecutiveMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanSponsorLocationAxis" xlink:label="us-gaap_RetirementPlanSponsorLocationAxis"/>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_VolatilityRateOfContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Volatility</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_VolatilityRateOfContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Volatility rate of contingent consideration.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_VolatilityRateOfContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Volatility rate of Contingent Consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Goodwill [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AuditorFirmId_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Auditor Firm Id</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AuditorFirmId_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Auditor Firm ID</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Convertible, Beneficial Conversion Feature</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds allocated to the conversion feature</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">2024</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentTransitionReport_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Transition Report</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Options outstanding at December 31, 2020</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangeAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt Intrument Exchange Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangeAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Exchange Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangeAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt Instrument Exchange Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Money Market</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Money Market Funds [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestOnConvertibleDebtNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Interest on Convertible Debt, Net of Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestOnConvertibleDebtNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Charges associated with convertible debt instruments, net of tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign exchange loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Foreign Exchange Loss, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective Income Tax Rate Reconciliation, Foreign Exchange Loss, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringCostAndReserveLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring Cost and Reserve [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentOther_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment, Other, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentOther_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_StatementGeographicalAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Geographical [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_StatementGeographicalAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Geographical [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Undistributed Earnings of Foreign Subsidiaries</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Undistributed earnings of foreign subsidiaries</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Incentive options, vesting period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Quarterly Financial Information [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Selected Quarterly Financial Data (Unaudited)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other noncurrent liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Liabilities, Noncurrent, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Liabilities, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MetenovaHoldingAbMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Metenova Holding AB</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MetenovaHoldingAbMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Metenova Holding AB [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MetenovaHoldingAbMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Metenova Holding AB.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Increase (Decrease) in Prepaid Expense and Other Assets, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Prepaid expenses and other assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restricted Stock Units (RSUs) [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restricted Stock Units (RSUs)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2025</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year Two</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Assets [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueInputsLevel1Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Level 1</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueInputsLevel1Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Inputs, Level 1 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IntangibleAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Intangible Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IntangibleAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Intangible Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IntangibleAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Intangible Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Pro Forma Earnings Per Share, Basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityPublicFloat_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Public Float</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">2027</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, Year Four</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long term deferred tax asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Deferred Tax Asset Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business combination recognized identifiable assets acquired and liabilities assumed deferred tax asset noncurrent.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Schedule of Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule Of Finite Lived And Indefinite Lived Intangible Assets [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Finite Lived And Indefinite Lived Intangible Assets [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Measurements</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Disclosures [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment, Useful Life</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Estimated Useful Life</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CustomerNumberOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Customer number one member.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CustomerNumberOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer Number One [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CustomerNumberOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer Number One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangedAmountCancelled_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt istrument cancelled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangedAmountCancelled_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Exchanged Amount Cancelled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangedAmountCancelled_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt instrument exchanged amount cancelled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of Income Before Income Tax [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Income Before Income Tax [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Income Before Income Tax [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total unrecognized compensation cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Valuation allowance increase (decrease)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Disaggregation of Revenue [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Disaggregation of Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Payments to Acquire Businesses, Net of Cash Acquired, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire Businesses, Net of Cash Acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Acquisitions, net of cash acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Acquisitions, net of cash acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RDAndCommercializationBasedPaymentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">R D And Commercialization Based Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RDAndCommercializationBasedPaymentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">R&amp;D and Commercialization-based payments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RDAndCommercializationBasedPaymentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">R&amp;D and Commercialization-based Payments [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FiltrationProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Filtration Products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FiltrationProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Filtration Products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShortTermDebtTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Short-Term Debt, Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_IcfrAuditorAttestationFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/label">ICFR Auditor Attestation Flag</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputEarnoutDiscountRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Earnout Discount Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputEarnoutDiscountRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Measurement Input Earnout Discount Rate.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputEarnoutDiscountRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Input Earnout Discount Rate [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of Income Before Income Tax [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Income Before Income Tax [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Income Before Income Tax [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_SE_lbl" xlink:role="http://www.xbrl.org/2003/role/label">SWEDEN</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_SE_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Sweden</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SalesRevenuesGoodsNetMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Sales Revenues Goods Net.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SalesRevenuesGoodsNetMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sales Revenues Goods Net [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SalesRevenuesGoodsNetMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Adjustments to Additional Paid in Capital, Equity Component of Convertible Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity component of 0.375% senior convertible notes, net of tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Net adjustment for the initial</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SubscriptionTransactionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Subscription Transaction</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SubscriptionTransactionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subscription Transaction [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SubscriptionTransactionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Subscription Transaction [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Title of Individual [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Relationship to Entity [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Title of Individual [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessAcquisitionWorkingCapitalAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Working capital adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessAcquisitionWorkingCapitalAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition Working Capital Adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessAcquisitionWorkingCapitalAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business acquisition working capital adjustments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentFaceAmountRemaining_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt instrument face amount remaining</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentFaceAmountRemaining_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Face Amount Remaining</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentFaceAmountRemaining_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Face amount of remaining convertible debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisclosureTextBlockAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Disclosure Text Block [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill, Acquired During Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Goodwill arising from Acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Income Taxes [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Taxes [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Taxes [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ForeignEarningsSubjectToOneTimeTransitionTax_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Foreign Earnings Subject To One Time Transition Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ForeignEarningsSubjectToOneTimeTransitionTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Foreign Earnings Subject To One Time Transition Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ForeignEarningsSubjectToOneTimeTransitionTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign earnings subject to one time transition tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockOptionAndIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stock Option and Incentive Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockOptionAndIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Option And Incentive Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockOptionAndIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2018 Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BioflexAndNtmAcquisitionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">BioFlex And NTM Acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BioflexAndNtmAcquisitionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">BioFlex And NTM Acquisition [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BioflexAndNtmAcquisitionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">NTM Acquisition [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from External Customers by Products and Services [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Product Revenues by Product Line</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease liability, long-term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Noncurrent operating lease liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Liability, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Repurchase of common stock (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Repurchased During Period, Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Reconciliation of Assets from Segment to Consolidated [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Reconciliation of Assets from Segment to Consolidated [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Reconciliation of Assets from Segment to Consolidated [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total Assets by Geographic Area</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_EuropeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Europe [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_EuropeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Europe</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIntangibleAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of Intangible Assets [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIntangibleAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Intangible Assets [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfIntangibleAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Intangible Assets [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NonrecurringAdjustmentDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Nonrecurring Adjustment [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Options Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Balance at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Balance at December 31, 2022</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Liabilities, fair value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Balance as of December 31, 2021</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities, Fair Value Disclosure</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Liabilities, Fair Value Disclosure, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Aggregate debt discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Debt Instrument, Unamortized Discount, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Unamortized Discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Unamortized debt discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeSeveranceMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Severance &amp; employee-related costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeSeveranceMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Employee Severance [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfGoodwillTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Goodwill [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfGoodwillTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Goodwill [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LeaseIncentives_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Lease incentives.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LeaseIncentives_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease Incentives</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LeaseIncentives_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Less lease incentives</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LeaseIncentives_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Less lease incentives</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Related Party Transactions [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BalanceSheetLocationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Balance Sheet Location [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total current assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_VestingDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Vesting [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_VestingDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vesting [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SegmentReportingAssetReconcilingItemLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Segment Reporting, Asset Reconciling Item [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SegmentReportingAssetReconcilingItemLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Segment Reporting, Asset Reconciling Item [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities and Equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total liabilities and stockholders' equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressStateOrProvince_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, State or Province</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CapacityOfBioreactors_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">It's represents about capacity of bioreactors.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CapacityOfBioreactors_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Capacity Of Bioreactors</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CapacityOfBioreactors_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Bioreactors used in perfusion cell culture applications</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebtTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Term Debt [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebtTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Convertible Senior Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Value, New Issues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from issuance of common stock, net of issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ReconciliationOfBasicAndDilutedAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Reconciliation of basic and diluted.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ReconciliationOfBasicAndDilutedAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Reconciliation of Basic and Diluted [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred tax assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Income Tax Assets, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Income Tax Assets, Net, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Contract Asset, Contract Liability, and Receivable [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Balances from contracts with customers only:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Options outstanding at December 31, 2023 | shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Options outstanding at December 31, 2022 | shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock options, outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Metenova Holding AB</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">ARTeSYN Biosolutions Holdings Ireland Limited.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">ARTeSYN Biosolutions Holdings Ireland Limited [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">ARTeSYN Biosolutions Holdings Ireland Limited</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Two Thousand and Twenty Three Convertible Notes [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2023 Convertible Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">2023 Convertible Notes [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average grant date fair value of share-based awards granted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business combination date of acquistion</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Effective Date of Acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Comprehensive income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Comprehensive income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill and Intangible Assets, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Business Combinations, Goodwill and Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_TradingSymbol_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trading Symbol</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Net of Valuation Allowance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net deferred tax assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Redemption, Period [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt Instrument, Redemption, Period [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Common Stock, Shares, Issued, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Shares, Issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock, shares issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock-based compensation expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentOfExciseTaxOnNetStockRepurchases_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Percent of excise tax on net stock repurchases.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentOfExciseTaxOnNetStockRepurchases_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Percent Of Excise Tax On Net Stock Repurchases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentOfExciseTaxOnNetStockRepurchases_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percent of excise tax on net stock repurchases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Net Derivative Asset (Liability) Measured on Recurring Basis, Unobservable Input Reconciliation [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total grant date fair value of restricted stock units vested</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Pro Forma Earnings Per Share, Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Receivable, after Allowance for Credit Loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Contract with Customer, Receivable, after Allowance for Credit Loss, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Expense and Other Assets, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid expenses and other current assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total prepaid expenses and other current assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares Dilutive Effect of Unvested Performance Stock Units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Weighted average number of shares dilutive effect of unvested performance stock units.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Dilutive effect of unvested performance stock units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Compensation and Employee Benefit Plans [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Employee Benefit Plans</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2019 Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Two Zero One Nine Notes [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Two zero one nine notes.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireSoftware_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire Software</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireSoftware_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Additions to capitalized software costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Cash Equivalents [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash and cash equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Long-Term Debt Instruments [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Long-term Debt Instruments [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Marketable securities, Gross Unrealized Gains</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities Held to Maturity Gross Unrealized Gain</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt securities held to maturity gross unrealized gain.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Shares, Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Balance (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Balance (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">2026</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Capital Shares Reserved for Future Issuance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Common stock shares reserved for Issuance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdvertisingExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Advertising Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">AOCI Attributable to Parent [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Other Comprehensive Income (Loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Acquisitions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Foreign Currency Transactions and Translations Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign Currency</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AmortizationOfDebtIssuanceCost_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Amortization of debt issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AmortizationOfDebtIssuanceCost_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Amortization of debt issuance cost.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AmortizationOfDebtIssuanceCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amortization Of Debt Issuance Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AmortizationOfDebtIssuanceCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Amortization of debt issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accumulated Other Comprehensive Income (Loss) [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Other Comprehensive Income (Loss) [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lease Accounting</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Loans and Leases Receivable, Lease Financing, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Land_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Land</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Land_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Land</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressCityOrTown_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, City or Town</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Related Party Transaction [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Related Party Transaction [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Weighted average discount rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Property, Plant and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangedAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt instrument exchanged amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangedAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Exchanged Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentExchangedAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt Instrument Exchanged Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxRateReconciliationLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Income Tax Rate Reconciliation [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxRateReconciliationLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Rate Reconciliation [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxRateReconciliationLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Tax Rate Reconciliation [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentAccruedAndUnpaidInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued and unpaid interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentAccruedAndUnpaidInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Accrued and Unpaid Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentAccruedAndUnpaidInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt instrument, accrued and unpaid interest.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt securities maturity within one year amortized cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities Maturity Within One Year Amortized Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt securities maturity within one year amortized cost.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Event Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Subsequent Event Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Tranche Two [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vest Over Five Year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Forfeited/expired/cancelled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Additional Paid-in Capital [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Additional Paid-in Capital</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Difference between U.S. and foreign tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Tax Provision (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Pro Forma Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property, Plant, and Equipment, Useful Life, Term, Description [Extensible Enumeration]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant, and Equipment, Useful Life, Term, Description [Extensible Enumeration]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DerivativeFixedInterestRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Discount Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DerivativeFixedInterestRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Derivative, Fixed Interest Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Redemption of marketable securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Business combination contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Consideration Transferred, Liabilities Incurred</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration - earnout</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Decrease in fair value of contingent consideration earnouts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CTechnologiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">C Technologies Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CTechnologiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">C Technologies [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CTechnologiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">C Technologies</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CTechnologiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">C Technologies, Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities, Current [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current liabilities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringReserveSettledWithoutCash2_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Non-Cash Restructuring Items</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringReserveSettledWithoutCash2_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring Reserve, Settled without Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets, Current [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current assets:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable, Allowance for Credit Loss, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts receivable, reserve for doubtful accounts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_CounterpartyNameAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Counterparty Name [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Par or Stated Value Per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred stock, par value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Stockholders' Equity [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Liability, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Operating lease liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business combination settlement of preexisting invoices.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Separately Recognized Transactions Settlement Of Preexisting Invoices</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business Combination settlement of preexisting invoices</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Settlement of preexisting liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MarketableSecuritiesPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Investment Securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MarketableSecuritiesPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Marketable Securities, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Advertising Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Advertising Cost [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from Contract with Customer, Including Assessed Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Identified Intangible Assets and Estimated Useful Lives</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Contingent Consideration Earnout Expect to be Required to Settle Include Significant Unobservable Inputs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Measurement Inputs and Valuation Techniques [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentMaturityDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Maturity Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentMaturityDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes, due date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Term Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes, carrying value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total convertible senior notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Total convertible senior notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DerivativeContractTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Derivative Contract [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Property, Plant and Equipment, Net, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Property, Plant and Equipment, Net, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property, plant and equipment, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total property, plant and equipment, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillPurchaseAccountingAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Measurement period adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillPurchaseAccountingAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill, Purchase Accounting Adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ClassOfStockDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Class of Stock [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AssetsNonCurrentExcludingDifferedTaxAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">The amount of total non-current assets excluding deferred tax assets.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AssetsNonCurrentExcludingDifferedTaxAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets Non current Excluding Differed Tax Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AssetsNonCurrentExcludingDifferedTaxAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long Lived Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restructuring charges</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring Charges</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Restructuring Charges, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonMetallicSolutionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non Metallic Solutions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonMetallicSolutionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Non-metallic solutions [Member].</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonMetallicSolutionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Non Metallic Solutions [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonMetallicSolutionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">NMS</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable, Credit Loss Expense (Reversal)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current period change for expected credit losses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from External Customer [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AccumulatedDeficitMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Deficit [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AccumulatedDeficitMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accumulated Deficit [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AccumulatedDeficitMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accumulated deficit.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vested and expectd to vest at December 31, 2021</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Expected tax at statutory rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiablitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred Tax Liablities Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiablitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred tax liablities [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCentralIndexKey_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Central Index Key</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherIntangibleAssetsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Intangible Assets [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherIntangibleAssetsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other intangibles</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PlanNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Plan Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RisksAndUncertaintiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Risks and Uncertainties [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Outstanding, Weighted Average Remaining Contractual Terms</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Unvested at December 31, 2020</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tabular disclosure of the fair value held to maturity securities by contractual maturity.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Amortized Cost and Fair Value Debt Securities Held to Maturity [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable, Allowance for Credit Loss [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary Of Allowance For Credit Losses For Accounts Receivables</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Assets, fair value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets, Fair Value Disclosure</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Assets, Fair Value Disclosure, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Other assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Other Operating Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Increase (Decrease) in Other Operating Assets, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentConvertibleIntoEquitySettled_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt instrument convertible in to equity settled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentConvertibleIntoEquitySettled_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Convertible Into Equity Settled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentConvertibleIntoEquitySettled_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt instrument convertible in to equity settled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Value of common stock issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FacilityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Facility Domain</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FacilityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Facility [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Preferred Stock, Shares Outstanding, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Preferred Stock, Shares Outstanding, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Shares Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred stock, shares outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Acquisition date fair value of contingent consideration earnout</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Goodwill [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Changes in Carrying Value of Goodwill</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">DilutivesharesAbstract</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Dilutive shares, Effect on Basic Earnings Per Share [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Effect of dilutive shares:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total current liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Tax Identification Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Income before income taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Income before income taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Finished Goods, Net of Reserves</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finished products</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Operating Capital [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Changes in operating assets and liabilities, excluding impact of acquisitions:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Payment of debt issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Payment of debt issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments of Debt Issuance Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OtherDirectorsOrOfficersMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other directors or officers</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OtherDirectorsOrOfficersMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Directors Or Officers [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OtherDirectorsOrOfficersMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Other directors or officers.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CapitalizedComputerSoftwareGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Capitalized Computer Software, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CapitalizedComputerSoftwareGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Computer hardware and software</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock-based compensation expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted-Average Remaining Contractual Term (in years)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Leases [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FlexbiosysIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">FlexBiosys, Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FlexbiosysIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">FlexBiosys, Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FlexbiosysIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">FlexBiosys, Inc. [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FlexbiosysIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">FlexBiosys, Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Discount rate.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Discount Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Discount rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PlanNameAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Plan Name [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Derivative Instrument [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_SegmentGeographicalDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Geographical [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_SegmentGeographicalDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Geographical [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Assets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Assets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Assets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_US_lbl" xlink:role="http://www.xbrl.org/2003/role/label">UNITED STATES</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_US_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">United States</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentIncomeNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Investment Income, Net, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentIncomeNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Investment Income, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentIncomeNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Investment income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Right-of-Use Asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease right of use assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FacilityExitAndOtherExitCostsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Facility exit and other exit costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FacilityExitAndOtherExitCostsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Facility Exit and Other Exit Costs [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FacilityExitAndOtherExitCostsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Facility exit and other exit costs.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityRegistrantName_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Registrant Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredFinanceCostsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Debt Issuance Costs, Net, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredFinanceCostsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Issuance Costs, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredFinanceCostsNet_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Unamortized debt issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ExecutiveOfficerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Executive Officer [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ExecutiveOfficerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Awards Granted to Executive Level Employees</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Related Party, Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Related Party [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Marketable securities, Estimated Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities Held to Maturity Estimated Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt securities held to maturity estimated fair value.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnlimitedCarryforwardPeriodMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Unlimited Carryforward Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnlimitedCarryforwardPeriodMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unlimited Carryforward Period [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnlimitedCarryforwardPeriodMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Unlimited carryforward period.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Retained Earnings (Accumulated Deficit), Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Retained Earnings (Accumulated Deficit), Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Retained Earnings (Accumulated Deficit), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retained Earnings (Accumulated Deficit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated earnings</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Cumulative effect of accounting changes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">The increase (decrease) during the reporting period in operating lease right of use asset.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase Decrease in Operating Lease Right Of Use Asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Operating lease right of use assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Supplemental Cash Flow Information [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Supplemental disclosure of cash flow information:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IndefiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Indefinite Lived Intangible Assets Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IndefiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Indefinite Lived Intangible Assets Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IndefiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Net Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retained Earnings [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Accumulated Earnings/(Deficit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementClassOfStockAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Class of Stock [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Raw Materials, Net of Reserves</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Raw materials</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Shares, Unvested at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Shares, Unvested at December 31, 2022</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restricted stock units, outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Repatriation of Foreign Earnings, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">U.S. taxation of foreign earnings</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Federal Income Tax Expense (Benefit), Continuing Operations, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Federal Income Tax Expense (Benefit), Continuing Operations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Federal</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expected tax at statutory rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MinimumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Minimum [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MinimumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Minimum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Increase decrease in operating lease asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase Decrease In Operating Lease Asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Increase decrease in operating lease asset.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tabular disclosure of the components of cash, cash equivalents, and marketable securities held to maturity.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash, Cash Equivalents and Marketable Securities Held to Maturity [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Cash, Cash Equivalents and Marketable Securities Held to Maturity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Convertible notes transaction costs of liability component.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Convertible Notes Transaction Costs Of Liability Component</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Transaction costs attributable to liability component</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnderwriterMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Underwriter.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnderwriterMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Underwriter [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnderwriterMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Underwriters</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from Stock Options Exercised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from exercise of stock options</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Significant Accounting Policies [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Significant Accounting Policies</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Prepaid Expenses and Other Current Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Minimum operating lease payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Minimum operating lease payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseholdImprovementsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Leasehold Improvements, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseholdImprovementsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Leasehold improvements</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Tranche One [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vest Over Three Year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue Recognition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Accumulated Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Indefinite Lived Intangible Assets Accumulated Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Indefinite Lived Intangible Assets Accumulated Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expected volatility (range), minimum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PfizerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Pfizer Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PfizerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Pfizer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PfizerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Pfizer member.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PfizerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Pfizer [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedIncomeTaxesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income taxes payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedIncomeTaxesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Income Taxes, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Disaggregation of Revenue [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityComponentDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity Component [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityComponentDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity Component [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DefinedBenefitPlanContributionsByEmployer_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Defined Benefit Plan, Plan Assets, Contributions by Employer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DefinedBenefitPlanContributionsByEmployer_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Defined contribution plan, company contribution</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_APACMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">A P A C Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_APACMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">APAC [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_APACMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">APAC</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tabular disclosure of supplemental disclosure for the consolidated statements of cash flows related to operating leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Supplemental Disclosure Of Cash Flows Related To Operating Leases [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProbabilityOfSuccess_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Probability of Success</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProbabilityOfSuccess_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Probability of success.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProbabilityOfSuccess_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Probability of Success</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Frequency [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill, Foreign Currency Translation Gain (Loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Cumulative translation adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Prepaid Expenses And Other Current Assets [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Expenses And Other Current Assets [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid Expenses And Other Current Assets [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted-Average Exercise Price Per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Disclosure [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Tax withholding on vesting of restricted stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCurrentReportingStatus_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Current Reporting Status</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other financing activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from (Payments for) Other Financing Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Shares Authorized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock, shares authorized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DefinedContributionPlanEmployeeEligibilityAge_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Defined Contribution Plan Employee Eligibility Age</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DefinedContributionPlanEmployeeEligibilityAge_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Defined Contribution Plan Employee Eligibility Age</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DefinedContributionPlanEmployeeEligibilityAge_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Defined contribution plan, eligible age of employees</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Research and Development Expense, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Research and Development Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Research and development</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, by Balance Sheet Grouping [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Cash Equivalents [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Cash and Cash Equivalents [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Tax Liabilities, Gross, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Liabilities, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel">Total deferred tax liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtConversionConvertedInstrumentAmount1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Conversion, Converted Instrument, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtConversionConvertedInstrumentAmount1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total consideration on conversion</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtConversionConvertedInstrumentAmount1_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Fair value of 2,316,229 shares of common stock issued for conversion of convertible notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebtFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Term Debt, Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebtFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair value of convertible senior notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebtFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Fair value of the note</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Executive Compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation Nondeductible Expense Executive Compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Executive compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share repurchase amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Repurchase Program, Authorized Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from Issuance of Common Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net proceeds from public offering</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Proceeds from issuance of common stock, net of issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Value, Conversion of Units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Issuance of common stock for debt conversion</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Amortization of Intangible Assets, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amortization of Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Amortization expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Incentive options, vesting period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Common stock, $0.01 par value; 80,000,000 shares authorized; 55,766,078 shares at December 31, 2023 and 55,557,698 shares at December 31, 2022 issued and outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Common Stock, Value, Issued, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Common Stock, Value, Issued, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Common Stock, Value, Issued, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Value, Issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Convertible, Conversion Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes initial conversion price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Change in valuation allowance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationObligationEstimated_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration obligation estimated</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationObligationEstimated_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contingent Consideration Obligation Estimated</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationObligationEstimated_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contingent Consideration Obligation Estimated</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashConsiderationExcludingRestrictedCash_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Cash consideration excluding restricted cash.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashConsiderationExcludingRestrictedCash_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash Consideration Excluding Restricted Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashConsiderationExcludingRestrictedCash_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNoncashIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Noncash Income (Expense), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNoncashIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Noncash Income (Expense)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNoncashIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringReserve_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restructuring Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringReserve_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring Reserve</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringReserve_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Restructuring Reserve, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringReserve_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Restructuring Reserve, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringReserve_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Restructuring Reserve, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxImpactOnConversionFeature_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred tax impact on conversion feature</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxImpactOnConversionFeature_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Impact On Conversion Feature</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxImpactOnConversionFeature_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred tax impact on conversion feature.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Liabilities, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total accrued liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash and cash equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Current Fiscal Year End Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock-based compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Share-based Payment Arrangement, Noncash Expense, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Noncash Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AuditorName_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Auditor Firm Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AuditorName_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Auditor Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentIssuedForCash_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes for cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentIssuedForCash_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Issued For Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentIssuedForCash_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt instrument issued for cash.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Income (Loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Income from operations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Equity Interest Issued or Issuable, Number of Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shares issued for business acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Shares of common stock issued for acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Consideration Transferred</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business combination, consideration transferred</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Fair value of net assets acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TaxPeriodAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Tax Period [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TaxPeriodAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tax Period [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Income Tax Expense (Benefit), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Income Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred income taxes, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income tax provision</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Income tax (benefit) provision</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Additional Disclosures [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted-Average Remaining Contractual Term (in years)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Research and Development Expense [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Research and development</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in the prior period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in the prior period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ChromatographyProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Chromatography Products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ChromatographyProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Chromatography Products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NatureOfOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Nature of Operations [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NatureOfOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Organization and Nature of Business</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Shares, Acquisitions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Issuance of commons stock pursuant to the acquisition, (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Cash_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Cash_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Payment of earnout consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Payment of earnout consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payment for Contingent Consideration Liability, Financing Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForRestructuring_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Amount Paid</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForRestructuring_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments for Restructuring</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RoyaltyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Royalty and Other Income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RoyaltyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Royalty [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RoyaltyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Royalty and Other Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts receivable, percentage by customer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk, Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Revenue from significant customers as a percentage of total revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FairValueOfEmbeddedConversionOptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair value of embedded conversion option</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FairValueOfEmbeddedConversionOptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value of Embedded Conversion Option [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FairValueOfEmbeddedConversionOptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Fair value of embedded conversion option.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expected volatility (range), maximum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Indefinite-Lived Intangible Assets [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Indefinite-lived Intangible Assets [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payment, Tax Withholding, Share-Based Payment Arrangement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Payment of tax withholding obligation on vesting of restricted stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DilutiveSecuritiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Dilutive Securities, Effect on Basic Earnings Per Share [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DilutiveSecuritiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Effect of dilutive securities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Disaggregation of Revenue [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Incentive options, vesting percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MeasurementInputTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Input Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Share-based Compensation Arrangement by Share-based Payment Award, Options, Aggregate Intrinsic Value [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Options, Aggregate Intrinsic Value [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Aggregate Intrinsic Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Income (Loss) Attributable to Parent, Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equipment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Operating Lease Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Concentration Risk [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Taxes Payable, Current, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Taxes Payable, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tax payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Finite-Lived Intangible Assets, Net, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Finite-Lived Intangible Assets, Net, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NumberOfManufacturingSites_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Number of manufacturing sites.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NumberOfManufacturingSites_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Number of Manufacturing Sites</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NumberOfManufacturingSites_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of manufacturing sites</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Revenue, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Deferred revenue (included in accrued liabilities and other noncurrent liabilities in the consolidated balance sheets)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxesPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Taxes Paid</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxesPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income tax paid</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationTechniqueDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Valuation Approach and Technique [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from Contract with Customer [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Revenue Recognition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Net of Forfeitures</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Granted | shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Options outstanding at December 31, 2020</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Indemnification Assets, Range of Outcomes, Value, High</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Aggregate principal amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Face Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Principal amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Earnings Per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Change in valuation allowance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ComputerHardwareAndSoftwareMemberMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Computer Hardware And Software Member Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ComputerHardwareAndSoftwareMemberMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Computer Hardware And Software member [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Effective Income Tax Rate Reconciliation, Tax Credit, Percent, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Tax Credit, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Business tax credits</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other income (expenses)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Other expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Nonoperating Income (Expense), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Nonoperating Income (Expense)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of cash and cash equivalents and restricted cash.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Cash And Cash Equivalents And Restricted Cash [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Schedule of Cash, Cash Equivalents and Restricted Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Noncurrent contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Contingent Consideration, Liability, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Dilutive securities effect on basic earnings per share convertible senior notes.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Dilutive Securities Effect On Basic Earnings Per Share Convertible Senior Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Convertible Senior Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Depreciation, Depletion and Amortization, Nonproduction, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Depreciation, Depletion and Amortization, Nonproduction</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Depreciation and amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityVoluntaryFilers_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Voluntary Filers</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other comprehensive income (loss):</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income (Loss) from Continuing Operations before Income Taxes, Foreign</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Earnings Per Share Basic And Diluted [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule Of Earnings Per Share Basic And Diluted [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Earnings Per Share Basic And Diluted [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Operating lease liability, long-term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Non Current.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Non Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Operating lease liability, long-term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AdditionalUndiscountedInContingentConsiderationEarnoutPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Additional undiscounted in contingent consideration earnout payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AdditionalUndiscountedInContingentConsiderationEarnoutPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Additional undiscounted in contingent consideration earnout payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AdditionalUndiscountedInContingentConsiderationEarnoutPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Additional undiscounted in contingent consideration earnout payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Expense (Benefit), Effective Income Tax Rate Reconciliation, Amount [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Adjustments due to:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CTechnologiesIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">C Technologies Inc Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CTechnologiesIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">C Technologies Inc [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CTechnologiesIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">C Technologies Inc</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Unrecognized Tax Benefits, Period Gross Decreases Release</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits, Period Gross Decreases Release</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Gross amounts of decrease due to release</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitments and Contingencies Disclosure [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other noncurrent assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Assets, Noncurrent, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Assets, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock-based compensation expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Accrued Liabilities, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OtherProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Other products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OtherProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stockholders' Equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Depreciation_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Depreciation, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Depreciation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Depreciation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long term deferred tax liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liability Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liability Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestPaidNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Interest Paid, Excluding Capitalized Interest, Operating Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestPaidNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Interest paid</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_USTreasuryBillSecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">US Treasury Bill Securities [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_USTreasuryBillSecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">U.S. treasury bills</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TrustForBenefitOfEmployeesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trust for Benefit of Employees [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TrustForBenefitOfEmployeesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Employees</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2027</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year Four</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2024</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetirementPlanTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retirement Plan Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetirementPlanTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Retirement Plan Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vested and expected to vest at December 31, 2022</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Interest Rate Terms</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Interest repayment terms</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity, Attributable to Parent [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stockholders' equity:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">2029 and thereafter</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, after Year Five</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease, Cost [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Lease, Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Operating Lease Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impairment of intangible assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Impairment of Intangible Assets (Excluding Goodwill)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Impairment of Intangible Assets (Excluding Goodwill), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Developed Technology Rights [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Technology&#8212;developed</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Developed technology</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NumberOfReportingUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of reporting units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NumberOfReportingUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Number of Reporting Units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested in Period, Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total fair value of stock options vested</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Cost of Goods and Services Sold, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cost of Goods and Services Sold</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cost of product revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Earnings per share:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Earnings per share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Maturities of Operating Lease Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Indefinite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Indefinite-lived Intangible Assets, Major Class Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationTaxContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Effective Income Tax Rate Reconciliation, Tax Contingency, Amount, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationTaxContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Tax Contingency, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationTaxContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Uncertain tax provisions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Tax Liabilities, Net, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Liabilities, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilities_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel">Total net deferred tax liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred Tax Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Policies [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2028</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year Five</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeLeaseDescriptionTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Lease, Description [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Foreign Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Sweden</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Zero Point Three Seven Five Percentage Convertible Senior Notes Due Twenty Twenty Four Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Zero Point Three Seven Five Percentage Convertible Senior Notes Due Twenty Twenty Four [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">0.375% Convertible Senior Notes due 2024</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Shares, Conversion of Units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Issuance of common stock for debt conversion (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk, Credit Risk, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentrations of Credit Risk and Significant Customers</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Accounts payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid expenses and other current assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnvestedOptionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Unvested Options</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnvestedOptionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unvested Options [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UnvestedOptionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Unvested Options [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Pro Forma Information [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Unaudited Supplemental Pro Forma Information</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Interest Rate, Effective Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Effective interest rate on the Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Tax Deferred Expense, Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lease obligation terms</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Lease Not yet Commenced, Term of Contract</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ManufacturingLineExpansionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Manufacturing Line Expansions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ManufacturingLineExpansionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Manufacturing Line Expansions [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ManufacturingLineExpansionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Manufacturing line expansions.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NumberOfSharesBasicOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Number of shares basic outstanding.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NumberOfSharesBasicOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Number Of Shares Basic Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NumberOfSharesBasicOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Weighted average shares used in computing net income per share - basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Earnings Per Share, Basic, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share, Basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer Concentration Risk [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer Concentration Risk</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProteinsProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Protein Products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProteinsProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proteins Products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Changes in Accumulated Other Comprehensive Income (Loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commitments and contingencies (Note 13)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitments and Contingencies</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProbabilityWeightedPresentValueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Probability Weighted Present Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProbabilityWeightedPresentValueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Probability-Weighted Present Value [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProbabilityWeightedPresentValueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Probability-weighted present value.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combinations [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Acquisition Related Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business Combination, Acquisition Related Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Zero Point Three Seven Five Percent Convertible Senior Notes Due Twenty Twenty Four Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Zero Point Three Seven Five Percent Convertible Senior Notes Due Twenty Twenty Four [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">0.375% Convertible Senior Notes due 2024</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Statement [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business acquisition, revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Related Party, Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Related Party [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Indefinite-lived Intangible Assets (Excluding Goodwill), Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Indefinite-lived Intangible Assets (Excluding Goodwill), Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Indefinite-lived Intangible Assets (Excluding Goodwill), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Indefinite-Lived Intangible Assets (Excluding Goodwill)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Gross Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Summary of Receivables and Deferred Revenue from Contracts with Customers</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Interest and penalties related to income taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Prepaid Expenses And Other Current Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Expenses And Other Current Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid Expenses And Other Current Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retirement Benefits [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FederalAndStateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Federal and State [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FederalAndStateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Federal and State [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FederalAndStateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Federal and State</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MeasurementInputTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Input Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringCostAndReserveAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vested and expected to vest at December 31, 2021 | shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RangeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statistical Measurement [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RangeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Range [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Operating Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total cash provided by operating activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair value of shares of common stock issued for contingent consideration earnouts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value of Shares of Common Stock Issued for Contingent Consideration Earnouts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Fair value of shares of common stock issued for contingent consideration earnouts.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign exchange loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Foreign Exchange Loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective income tax rate reconciliation, foreign exchange loss.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Aggregate intrinsic value of restricted stock units vested</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NewtonNewJerseyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Newton, New Jersey [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NewtonNewJerseyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Newton, New Jersey Member.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NewtonNewJerseyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">NTM</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentPeriodEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Period End Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RangeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statistical Measurement [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RangeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Range [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Accounts Receivable, Allowance for Credit Loss, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Accounts Receivable, Allowance for Credit Loss, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable, Allowance for Credit Loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodEndLabel">Ending balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodStartLabel">Beginning balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitments and Contingencies Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commitments and Contingencies</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAccruedLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of Accrued Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAccruedLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Accrued Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAccruedLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Accrued Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeasePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeasePayments_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Operating lease cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Earnings Per Share, Diluted, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share, Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ProductsAndServicesDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Product and Service [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfSalesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cost of Sales [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfSalesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cost of product revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Tax Assets, Operating Loss Carryforwards, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Operating Loss Carryforwards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net operating loss carryforwards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Balance of gross unrecognized tax benefits, end of period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Balance of gross unrecognized tax benefits, beginning of period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangedTwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exchanged 2019 Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangedTwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Exchanged Two Zero One Nine Notes [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangedTwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Exchanged two zero one nine notes.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk Benchmark [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk Benchmark [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BuildingsAndImprovementsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Buildings and Improvements, Gross, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BuildingsAndImprovementsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Buildings and Improvements, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BuildingsAndImprovementsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Buildings</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt Instrument, Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Hierarchy and NAV [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OpenTaxYear_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Open Tax Year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OpenTaxYear_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Fiscal year subject to examination</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Options exercisable at December 31, 2023 | shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Other Noncurrent Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long-term liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementsRecurringMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value, Recurring</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementsRecurringMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Recurring [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_APACOtherMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">APAC/Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_APACOtherMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">A P A C Other [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_APACOtherMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">APAC Other [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Additional Paid in Capital, Common Stock, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Additional Paid in Capital, Common Stock, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Additional Paid in Capital, Common Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Additional paid-in capital</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationConsiderationIndemnificationEscrow_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business Combination Consideration Indemnification Escrow</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationConsiderationIndemnificationEscrow_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Consideration Indemnification Escrow</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationConsiderationIndemnificationEscrow_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business acquisition, Indemnification escrow</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventories</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PensionPlansDefinedBenefitMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Pension Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PensionPlansDefinedBenefitMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Pension Plans, Defined Benefit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Accumulated Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Net of Tax, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Accumulated Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Net of Tax, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accumulated Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Net of Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Translation adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Options Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Furniture Fixtures And Office Equipment Member Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Furniture Fixtures And Office Equipment Member [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2043Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tax Year 2043 Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2043Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Tax Year 2043 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2043Member_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tax Year 2043 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonEmployeeDirectorStockOptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Non Employee Director Stock Option[Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonEmployeeDirectorStockOptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Non Employee Director Stock Option[Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonEmployeeDirectorStockOptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non-Employee Directors</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Coronavirus Aid Relief and Economic Security Fund Value.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Coronavirus Aid Relief and Economic Security Fund Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Coronavirus aid relief and economic security fund value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CommitmentsAndContingenciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Commitments and Contingencies [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CommitmentsAndContingenciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitments and Contingencies [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CommitmentsAndContingenciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commitments and Contingencies [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Credit Loss, Financial Instrument [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Allowance for credit losses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Repurchase of common stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments for Repurchase of Common Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Restructuring and Related Costs [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exercised number of shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Exercised | shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Maturity of one year or less, Estimated Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities and Equity [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Liabilities and Stockholders' Equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Provision for Deferred Income Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Provision for Deferred Income Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DaylightSolutionsIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Daylight solutions Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DaylightSolutionsIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Daylight Solutions Inc.[Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DaylightSolutionsIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Daylight Solutions Inc.[Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AcceleratedDepreciationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accelerated depreciation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AcceleratedDepreciationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accelerated Depreciation [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AcceleratedDepreciationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accelerated depreciation.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Value, Acquisitions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Issuance of commons stock pursuant to the acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressPostalZipCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, Postal Zip Code</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PolymemSAMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Polymem S.A.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PolymemSAMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Polymem S.A. [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PolymemSAMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Polymem S.A. [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Convertible, Conversion Ratio</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes conversion ratio per $1,000 principal amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Interactive Data Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrivatePlacementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Private Placement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrivatePlacementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Private Placement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentConvertibleIntoEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt instrument convertible into equity.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentConvertibleIntoEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Convertible Into Equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentConvertibleIntoEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt instrument amount convertible into equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsidiary, Ownership Percentage, Noncontrolling Owner</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non controlling ownership interest minimum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssued1_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Fair value of shares of common stock issued for acquisitions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssued1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Convertible, Threshold Consecutive Trading Days</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes threshold consecutive trading days</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits that Would Impact Effective Tax Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impact of unrecognized tax benefits on effective tax rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Increase (Decrease) in Accounts Payable, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Accounts Payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2026</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year Three</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LatestTaxYearMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Latest Tax Year [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LatestTaxYearMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Latest Tax Year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OutstandingTwoZeroTwoThreeNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Outstanding 2023 Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OutstandingTwoZeroTwoThreeNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Outstanding Two Zero Two Three Notes [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OutstandingTwoZeroTwoThreeNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Outstanding two zero two three notes.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TextBlockAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Text Block [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Less amount of lease payment representing interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Less amount of lease payment representing interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Identified Intangible Assets and Estimated Useful Lives</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shares Awarded</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Finite-Lived Intangible Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite Lived Intangible Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finite-Lived Intangible Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Finite-Lived Intangible Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Well-known Seasoned Issuer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Pro Forma Net Income (Loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Business acquisitions proforma net loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exercised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Incorporation, State or Country Code</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasicAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share, Basic [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasicAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Denominator:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NGLImpactAMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">NGL Impact A[Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NGLImpactAMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">NGL Impact A [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Avitide, Inc. [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Avitide, Inc. [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Avitide, Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity Components [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity Components [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Accounts Receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Accounts receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringAndRelatedActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring and Related Activities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Income Taxes [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Taxes [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Taxes [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ModifiedTwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Modified 2019 Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ModifiedTwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Modified Two Zero One Nine Notes [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ModifiedTwoZeroOneNineNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Modified Two Zero One Nine Notes [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory Disclosure [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Cash consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Upfront payment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire Businesses, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NoncashInventoryAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non cash inventory adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NoncashInventoryAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Noncash Inventory Adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NoncashInventoryAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">The amount of non cash adjustments of inventory.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Summary Of Significant Accounting Policies [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Summary Of Significant Accounting Policies [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary Of Significant Accounting Policies [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted Average, Vested</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_LocalPhoneNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Local Phone Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property, Plant and Equipment [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sale of Stock [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Options exercisable at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationAdditionalCashForTransactionBonus_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Additional Cash For Transaction Bonus</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationAdditionalCashForTransactionBonus_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business combination additional cash for transaction bonus.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Tangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Tangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair value of tangible assets acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Goodwill, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Goodwill</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxAssetsOperatingLeases_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred Tax Assets Operating Leases.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxAssetsOperatingLeases_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets Operating Leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxAssetsOperatingLeases_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Cash Flows [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Minimum operating lease payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease liabilities excluding control not conveyed leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease Liabilities Excluding Control not Conveyed Leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Operating lease liabilities excluding control not conveyed leases.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarliestTaxYearMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earliest Tax Year [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarliestTaxYearMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Earliest Tax Year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Loss on extinguishment of debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Loss on Debt Exchange, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective income tax rate reconciliation, loss on debt exchange, percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationsCashDepositedInEscrowAccount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business combinations cash deposited in escrow account.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationsCashDepositedInEscrowAccount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combinations Cash Deposited In Escrow Account</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationsCashDepositedInEscrowAccount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business combinations cash deposited in escrow account</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Engineered Molding Technology LLC</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Engineered Molding Technology LLC [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Engineered Molding Technology LLC</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxAuthorityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Authority [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxAuthorityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Tax Authority [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accumulated Other Comprehensive Income (Loss), Net of Tax, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated other comprehensive loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property, Plant &amp; Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accumulated Foreign Currency Adjustment Attributable to Parent [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Foreign Currency Translation Adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventory [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk Benchmark [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk Benchmark [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentAnnualReport_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Annual Report</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrincipalOwnerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Principal Owner [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrincipalOwnerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Principal Owner</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Par or Stated Value Per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock, par value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TonyJHuntMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tony J. Hunt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TonyJHuntMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Tony J. Hunt [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TonyJHuntMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tony J. Hunt.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Effect of exchange rate changes on cash and cash equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Income (Loss) Available to Common Stockholders, Basic [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Numerator:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleNotesTransactionCostsOfEquityComponent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Convertible notes transaction costs of equity component.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleNotesTransactionCostsOfEquityComponent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Convertible Notes Transaction Costs Of Equity Component</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ConvertibleNotesTransactionCostsOfEquityComponent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Transaction costs attributable to equity component</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_InflationReductionActOfTwoThousandTwentyTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Inflation reduction act of two thousand twenty two member.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_InflationReductionActOfTwoThousandTwentyTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inflation Reduction Act Of Two Thousand Twenty Two [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_InflationReductionActOfTwoThousandTwentyTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">nflation Reduction Act Of Two Thousand Twenty Two</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Interest Rate, Stated Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes, interest rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Senior convertible notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Unrecognized compensation cost, weighted average remaining requisite service period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Lived Tangible Asset [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vested and expected to vest at December 31, 2021</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Percent [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Adjustments due to:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Total convertible senior notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Convertible Senior Notes due 2024, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Convertible Notes Payable, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MaximumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Maximum [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MaximumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Maximum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleDebtNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Total convertible senior notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleDebtNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Convertible Senior Notes due 2028, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleDebtNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Convertible Debt, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation Debt Discount Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective income tax rate reconciliation debt discount percentage.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractualObligationDueInNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contractual Obligation, to be Paid, Year One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractualObligationDueInNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Outstanding obligation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">1.00% Convertible Senior Notes due 2028</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">One Point Zero Zero Percent Convertible Senior Notes Due Twenty Twenty Eight [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">One point zero zero percent convertible senior notes due twenty twenty eight.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Convertible, Threshold Trading Days</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes threshold trading days</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationTaxCredits_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Effective Income Tax Rate Reconciliation, Tax Credit, Amount, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationTaxCredits_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Tax Credit, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationTaxCredits_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Business tax credits</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Operating lease liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Current.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Operating lease liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentIncreaseAccruedInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Increase, Accrued Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentIncreaseAccruedInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Accrued interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueInputsLevel3Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Level 3</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueInputsLevel3Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Inputs, Level 3 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">APIC, Share-based Payment Arrangement, Increase for Cost Recognition, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">APIC, Share-Based Payment Arrangement, Increase for Cost Recognition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Stock-based compensation expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Recurring and Nonrecurring [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShortTermDebtTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Short-Term Debt, Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_OwnershipDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Ownership [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net increase (decrease) in cash and cash equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Convertible, Carrying Amount of Equity Component</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Equity component of converted debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Work in Process, Net of Reserves</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Work-in-process</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PayablesAndAccrualsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payables and Accruals [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total noncurrent assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments for (Proceeds from) Other Investing Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other investing activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Other investing activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Gross Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Intangible Assets, Gross (Excluding Goodwill)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Gross Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BioflexMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">BioFlex [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BioflexMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">BioFlex [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BioflexMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">BioFlex</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NoncashInterestIncome_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Non-cash interest income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NoncashInterestIncome_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Noncash Interest Income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NoncashInterestIncome_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Noncash interest income.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetirementPlanSponsorLocationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retirement Plan Sponsor Location [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Financial Statement Error Correction [Flag]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Financial Statement Error Correction [Flag]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAccruedLiabilitiesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of Accrued Liabilities [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAccruedLiabilitiesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Accrued Liabilities [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfAccruedLiabilitiesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Accrued Liabilities [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Inventory, Current [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Inventories</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of Deferred Tax Assets and Liabilities [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Deferred Tax Assets and Liabilities [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Deferred Tax Assets and Liabilities [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CreditLossAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Credit Loss [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CityAreaCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label">City Area Code</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Summary of Income Tax Examinations [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventories, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total inventories, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PostemploymentBenefitsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Postemployment Benefits [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash flows from operating activities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Acquired Finite-Lived Intangible Asset, Residual Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Intangible Asset Residual Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Quarterly Financial Information [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Consolidated Statements of Operations Information for Each of Previous Eight Quarters</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Unvested at December 31, 2020</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NotesIssued1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Issuance of 2023 Notes in exchange of 2019 Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NotesIssued1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Notes Issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FacilityAndOtherExitCostsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Facility and other exit costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FacilityAndOtherExitCostsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Facility and Other Exit Costs [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FacilityAndOtherExitCostsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Facility and other exit costs.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business Acquisition [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Less - Accumulated depreciation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Selling, General and Administrative Expenses [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Selling, general and administrative</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Weighted Average Number of Shares Outstanding, Basic, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares Outstanding, Basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Weighted average shares used in computing net income per share - basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Activity Related to Restructuring Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring and Related Costs [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid income taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash flows from financing activities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Foreign Income Tax Expense (Benefit), Continuing Operations, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Foreign Income Tax Expense (Benefit), Continuing Operations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Restricted Stock Unit Activity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Loss on extinguishment of debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Loss on extinguishment of debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Loss on conversion of debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Gain (Loss) on Extinguishment of Debt, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Gain (Loss) on Extinguishment of Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputRevenueVolumeDiscountRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue and Volume Based Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputRevenueVolumeDiscountRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Measurement Input Revenue &amp; Volume Discount Rate.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputRevenueVolumeDiscountRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Input Revenue &amp; Volume Discount Rate [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputProbabilityOfSuccessMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Probability of Success</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputProbabilityOfSuccessMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Measurement Input Probability of Success.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MeasurementInputProbabilityOfSuccessMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Input Probability of Success [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted Average, Vested and expected to vest at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Share based compensation arrangement by share based payment award equity instruments other than options vested and expected to vest outstanding weighted average grant date fair value.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Based Compensation Arrangement by Share Based Payment Award Equity Instruments Other Than Options Vested and Expected to Vest Outstanding Weighted Average Grant Date Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Statement [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Option, Activity [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Option Activity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts Receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Related Party Transactions, by Related Party [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Related Party [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContingentConsiderationTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contingent Consideration Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContingentConsiderationTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent Consideration Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Estimated Weighted Average Assumptions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveEffectOnSharesOfConversionPremium_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Dilutive effect on shares of conversion premium</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveEffectOnSharesOfConversionPremium_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Dilutive Effect On Shares Of Conversion Premium</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveEffectOnSharesOfConversionPremium_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Dilutive effect on shares of conversion premium.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Fiscal Period Focus</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total future minimum lease payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total noncurrent liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangeTransactionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exchange Transaction</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangeTransactionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Exchange Transaction [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangeTransactionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Exchange Transaction [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidServicesAndProfessionalFees_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Prepaid Services and Professional Fees</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidServicesAndProfessionalFees_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Services and Professional Fees</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PrepaidServicesAndProfessionalFees_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equipment maintenance and services</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Related Party Transactions Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Related Party Transactions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">2025</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Statement [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Loss on extinguishment of debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Loss on Debt Exchange</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective income tax rate reconciliation, loss on debt exchange.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Fair value of net assets acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair value of net assets acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleDebtTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Convertible Debt [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleDebtTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Carrying Value of Convertible Senior Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ModificationOfDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Modification of debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ModificationOfDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Modification of Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ModificationOfDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Modification of debt.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Unrecognized tax benefits decreases resulting from current period tax positions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits, Decrease Resulting from Current Period Tax Positions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock excluded from calculation of diluted earnings per share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Right Of Use Asset.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Right Of Use Asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Operating lease right of use asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long Lived Assets by Geographic Area</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease, Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Lease cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Repatriation of Foreign Earnings, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">U.S. taxation of foreign earnings</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shares, Vested and expected to vest at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested And Expected To Vest Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested And Expected To Vest Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RoyaltyExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Royalty Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Asset Class [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Consolidated Deferred Tax Assets (Liabilities)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts receivable, net of reserves of $2,122 and $1,365 at December 31, 2023 and December 31, 2022, respectively</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accounts Receivable, after Allowance for Credit Loss, Current, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Accounts receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_VariableOperatingLeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for operating leases.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_VariableOperatingLeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Variable Operating Lease cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_VariableOperatingLeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Variable operating lease cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MajorCustomersAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MajorCustomersAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred tax liabilities, operating lease right of use assets.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Liabilities, Operating Lease Right Of Use Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease right of use assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt securities held to maturity and cash and cash equivalents estimated fair value.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities Held to Maturity and Cash and Cash Equivalents Estimated Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash and cash equivalents, Estimated Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt Instrument [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Issuance of common stock pursuant to the Avitide, Inc. contingent consideration earnout payment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Value,Contingent Consideration Earnout Payment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stock issued during period, value,contingent consideration earnout payment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Acquisition date fair value of contingent consideration earnouts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Acquisition Date Fair Value of Contingent Consideration Earnouts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Acquisition date fair value of contingent consideration earnouts.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConstructionInProgressGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Construction in Progress, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConstructionInProgressGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Construction in progress</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Cash and Cash Equivalents, at Carrying Value, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Cash and Cash Equivalents, at Carrying Value, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Cash and Cash Equivalents, at Carrying Value, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Cash Equivalents, at Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash and cash equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Cash and cash equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Repurchase of common stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Repurchased During Period, Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RevenueAndVolumeProjectionsPerformancePeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue and volume projections performance period.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RevenueAndVolumeProjectionsPerformancePeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue And Volume Projections Performance Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RevenueAndVolumeProjectionsPerformancePeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Performance period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock-Based Compensation Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Assets, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Options exercisable at December 31, 2021</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BuildingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Building [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Common Stock, Shares Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExaminationTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Examination [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExaminationTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Tax Examination [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TradeAccountsReceivableMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Trade Accounts Receivable Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TradeAccountsReceivableMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trade Accounts Receivable [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property and equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangeAndSubscriptionAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exchange and Subscription Agreements</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangeAndSubscriptionAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Exchange and Subscription Agreements [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ExchangeAndSubscriptionAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Exchange and subscription agreements.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeasedAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Leased Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income (Loss) from Continuing Operations before Income Taxes, Domestic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Domestic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Convertible note modification</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Value, Conversion of Convertible Securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Conversion of Convertible Securities Stock Issued | value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TrueUpCostsDecember2020Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">True Up Costs December 2020</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TrueUpCostsDecember2020Member_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">True up costs December 2020.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TrueUpCostsDecember2020Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">True up costs December 2020 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProfessionalFees_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Professional Fees</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProfessionalFees_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Spectrum Acquisition, tax preparation and other fees</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_InventoryAdjustmentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventory adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_InventoryAdjustmentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory Adjustments [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_InventoryAdjustmentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Inventory adjustments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CoverAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cover [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Selling, General and Administrative Expense, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Selling, General and Administrative Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Selling, general and administrative</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Term Purchase Commitment, Category of Item Purchased [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NonrecurringAdjustmentAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Nonrecurring Adjustment [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_VestingAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Vesting [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_VestingAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vesting [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentFiscalYearFocus_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Fiscal Year Focus</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Comprehensive Income (Loss) Note [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Other Comprehensive Income (Loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Interest and penalties accrued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesDebtDiscount_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Debt discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesDebtDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesDebtDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Liabilities, Debt discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesDebtDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred tax liabilities, debt discount.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Income Taxes Paid, Net, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Taxes Paid, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income taxes paid</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AmortizationOfInventoryStepUp_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Inventory step-up charges</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AmortizationOfInventoryStepUp_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amortization Of Inventory Step Up</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AmortizationOfInventoryStepUp_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Amortization of inventory step up.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">State and Local Income Tax Expense (Benefit), Continuing Operations, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">State and Local Income Tax Expense (Benefit), Continuing Operations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">State</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sale of Stock [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ExtinguishmentOfDebtAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Extinguished 2019 Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ExtinguishmentOfDebtAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Extinguishment of Debt, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock Based Compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average grant date fair value of restricted stock units granted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Weighted Average, Awarded</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PatentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Patents [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PatentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Patents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SegmentReportingAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Segment Reporting [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ReasonForChangeInDateOfAnnualGoodwillImpairmentTest_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Reason for change in impairment assessment date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ReasonForChangeInDateOfAnnualGoodwillImpairmentTest_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Reason for Change in Date of Annual Goodwill Impairment Test</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_SecurityExchangeName_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Security Exchange Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Incentive options, term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DomesticCountryMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Domestic Tax Authority [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DomesticCountryMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Domestic Tax Authority</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets Amortization Expense [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Schedule of Amortization Expense for Amortized Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other comprehensive loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Recent Accounting Standards Updates</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Preferred Stock, Shares Issued, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Shares Issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred stock, shares issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Shares Authorized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred stock, shares authorized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer Relationships [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer relationships</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SpectrumIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Spectrum Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SpectrumIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Spectrum Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SpectrumIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Spectrum Inc [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SpectrumIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Spectrum Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Property, Plant and Equipment, Gross, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Property, Plant and Equipment, Gross, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total property, plant and equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Assets acquired under operating leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Acquiree [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business Acquisition, Acquiree [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_LegalEntityAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Legal Entity [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_LegalEntityAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Legal Entity [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted average common shares outstanding:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Emerging Growth Company</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Emerging growth company</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vested and expected to vest at December 31, 2021</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share based Compensation Arrangement by Share based Payment Award, Equity Instruments Other Than Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromConvertibleDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from issuance of 2023 Convertible Senior Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromConvertibleDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from Convertible Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromConvertibleDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Proceeds from issuance of senior convertible notes, net of issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Aggregate intrinsic value of stock options exercised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Percentage of Voting Interests Acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business acquisition, voting interest acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Summary Of Significant Accounting Policies [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Summary Of Significant Accounting Policies [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary Of Significant Accounting Policies [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AmendmentFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amendment Flag</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exchanged 2019 Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Exchanged 2019 notes.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">2019 Notes [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TaxCreditCarryforwardAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Tax Credit Carryforward, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TaxCreditCarryforwardAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business tax credits carry forwards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Accrued Liabilities [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Accrued Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2041Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tax Year 2041</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2041Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Tax Year2041 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2041Member_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tax Year2041 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NewDateOfAnnualGoodwillImpairmentTest_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impairment assessment date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NewDateOfAnnualGoodwillImpairmentTest_lbl" xlink:role="http://www.xbrl.org/2003/role/label">New Date of Annual Goodwill Impairment Test</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective income tax rate reconciliation, nondeductible expense,contingent consideration , percent.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Nondeductible Expense,Contingent Consideration , Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredIncomeTaxLiabilitiesFixedAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred income tax liabilities, fixed assets.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredIncomeTaxLiabilitiesFixedAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Income Tax Liabilities, Fixed Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredIncomeTaxLiabilitiesFixedAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fixed assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Purchase of intellectual property</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Compensation Arrangement with Individual, Postretirement Benefits [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred Compensation Arrangement with Individual, Postretirement Benefits [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TypeOfAdoptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Standards Update [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TypeOfAdoptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Type of Adoption [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Liabilities, Gross [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred tax liabilities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Category of Item Purchased [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restructuring Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring and Related Activities Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CapitalUnitsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Capital Units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CapitalUnitsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Capital Units [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CapitalUnitsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Capital Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CreditLossFinancialInstrumentTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Credit Loss, Financial Instrument [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CreditLossFinancialInstrumentTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Credit Losses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Represents Increase Decrease In operating Lease Liabilities.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase Decrease In Operating Lease Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Increase in operating lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeasesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Leases [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2029 and thereafter</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, after Year Five</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Income Tax Reconciliation, Nondeductible Expense, Executive Compensation.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Reconciliation Nondeductible Expense Executive Compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Executive compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Foreign-derived intangible income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign-derived intangible income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, FDII, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MilliporeSigmaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Millipore Sigma.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MilliporeSigmaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Millipore Sigma [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MilliporeSigmaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">MilliporeSigma</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Accrued Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Accrued Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Accrued liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TaxPeriodDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Tax Period [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TaxPeriodDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tax Period [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Restructuring Activities by Type of Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Restructuring Reserve by Type of Cost [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityFileNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Securities Act File Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OptionToPurchaseCommonStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Option To Purchase Common Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OptionToPurchaseCommonStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Option To Purchase Common Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OptionToPurchaseCommonStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Option To Purchase Common Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Risks and Uncertainties in Entities Business [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Risks and Uncertainties in Entities Business [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Risks and Uncertainties</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage of Revenue from Significant Customers</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total deferred tax assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Goodwill and Other Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Goodwill and Other Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Effects Allocated Directly to Equity, Equity Transactions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Cash and cash equivalents, beginning of period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total cash, cash equivalents, and restricted cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Cash and cash equivalents, end of period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_WeightedAverageDiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted Average Discount Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_WeightedAverageDiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Weighted average discount rate.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_WeightedAverageDiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Discount Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net liabilities assumed</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accounts Payable, Current, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Payable, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt Instrument [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">na</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Abstract Of Operating Lease Liability From Balance Sheet Table Text Block [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Operating Lease Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Weighted Average, Unvested at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Weighted Average, Unvested at December 31,2022</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CommonStockIssuePricePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Common stock issue price per share.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CommonStockIssuePricePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock Issue Price Per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CommonStockIssuePricePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock issue price per share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Tax Assets, Valuation Allowance, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Valuation Allowance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Less: valuation allowance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation Debt discount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective income tax ratereconciliation debt discount.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostsAndExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Costs and Expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostsAndExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total costs and operating expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedules of Concentration of Risk, by Risk Factor [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage by Geographic Area or Significant Customers</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AuditorLocation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Auditor Firm Location</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AuditorLocation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Auditor Location</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expected term (in years)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred stock, $0.01 par value, 5,000,000 shares authorized, no shares issued or outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Preferred Stock, Value, Issued, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Preferred Stock, Value, Issued, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Preferred Stock, Value, Issued, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Value, Issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntitySmallBusiness_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Small Business</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntitySmallBusiness_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Smaller reporting company</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityShellCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Shell Company</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NumberOfOperatingSegments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of operating segments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NumberOfOperatingSegments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Number of Operating Segments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_TitleOfIndividualAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Title of Individual [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_TitleOfIndividualAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Title of Individual [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Investment Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective Income Tax Rate Reconciliation, Return to Provision Adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation Return to Provision Adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Return to provision adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LongTermContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Long-term contingent consideration.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LongTermContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long Term Contingent Consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LongTermContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long-term contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Transaction Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Transaction costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tax withholding on vesting of restricted stock (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Tax withholding on vesting of restricted stock (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DefinedContribution401KPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Defined Contribution 401 K Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DefinedContribution401KPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Defined Contribution 401 K Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DefinedContribution401KPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Defined Contribution 401 K Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExaminationLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Examination [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExaminationLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Tax Examination [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenuesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenues [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenuesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel">Forfeited/expired/cancelled | Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Forfeited/expired/cancelled | Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TrademarksAndTradeNamesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trademarks and Trade Names [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TrademarksAndTradeNamesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Trademark and tradename</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PuroliteMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Purolite</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PuroliteMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Purolite [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PuroliteMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Purolite member.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressAddressLine1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, Address Line One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue Benchmark [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Sales Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Revenue recognized during periods presented relating to:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Change in Contract with Customer, Asset and Liability [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair value of acquired finite lived intangible assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Business combination, intangible assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashAndMoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Cash and money market funds.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashAndMoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Money Market Funds [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashAndMoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash and money market funds</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Deferred Compensation Arrangement with Individual, Postretirement Benefits [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Deferred Compensation Arrangement with Individual, Postretirement Benefits [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Volatility</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Input, Price Volatility [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Supplemental Balance Sheet Disclosures [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Consolidated Balance Sheet Detail</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Percentage of shares subject to forfeiture.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Percentage of Shares Subject to Forfeiture</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Estimated forfeiture rates</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Finite-Lived Intangible Assets, Gross, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Gross Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Premium over sale price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Interest Rate During Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MonteCarloSimulationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Monte Carlo Simulation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MonteCarloSimulationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Monte Carlo Simulation.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_MonteCarloSimulationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Monte Carlo Simulation [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentArrangementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Research and Development Arrangement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Event Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Subsequent Event Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TrdArrExpirationDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expiration Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TrdArrExpirationDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trd Arr Expiration Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TrdArrExpirationDate_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Trd Arr expiration date.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Goodwill [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from issuance of common stock,issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Risk-free interest rate, minimum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Statement Location [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Statement Location [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationTransactionCostPaidDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Transaction Cost Paid During Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_BusinessCombinationTransactionCostPaidDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business combination transaction cost paid during period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule Of Property And Equipment Useful Lives Table [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Property And Equipment Useful Lives [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property, Plant and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Risk-free interest rate, maximum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_HeldToMaturitySecuritiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Held-to-Maturity, Amortized Cost, before Allowance for Credit Loss, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_HeldToMaturitySecuritiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Marketable securities held to maturity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Amortization of debt discount and issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amortization of Debt Discount (Premium)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Avitide Llc</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Avitide LLC [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Avitide LLC.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Foreign-derived intangible income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign-derived intangible income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, FDII, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NetWorkingCapitalExcludingCashAndInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Net working capital excluding cash and inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NetWorkingCapitalExcludingCashAndInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net working capital excluding cash and inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NetWorkingCapitalExcludingCashAndInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net working capital (excluding cash and inventory step-up)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expected dividend yield</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentageOfCurrentFederalTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Percentage Of Current Federal Tax Expense Benefit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentageOfCurrentFederalTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Percentage Of Current Federal Tax Expense Benefit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_PercentageOfCurrentFederalTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage of alternative minimum tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">2028</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, Year Five</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidInsurance_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Insurance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidInsurance_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid insurance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RgenFacilityAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Rgen Facility [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RgenFacilityAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Rgen Facility [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FacilityAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Facility Axis</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_FacilityAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Facility [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideAndFlexbiosysMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Avitide and Flexbiosys</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideAndFlexbiosysMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Avitide and FlexBiosys [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvitideAndFlexbiosysMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Avitide and FlexBiosys.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Frequency of Periodic Payment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes, frequency of periodic payment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProductMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Product Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProductMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Product [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProductMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Products</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Cash and cash equivalents, Amortized Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt securities held to maturity and cash and cash equivalents amortized costs.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities Held to Maturity and Cash and Cash Equivalents Amortized Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash and cash equivalents, Amortized Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Share Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Closing price of common stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Contingent Consideration, Liability, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentCarryingAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Term Debt, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentCarryingAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Principal amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ProductOrServiceAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Product and Service [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Treasury Stock, Value, Acquired, Cost Method</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Purchase of treasury stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_Security12bTitle_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Title of 12(b) Security</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">State income tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Accumulated Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exercise of stock options and vesting of stock units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvailableForSaleSecuritiesEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Available for sale securities estimated fair value.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvailableForSaleSecuritiesEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Available for Sale Securities Estimated Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AvailableForSaleSecuritiesEstimatedFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Marketable securities, Estimated Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UncategorizedAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Uncategorized [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_UncategorizedAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Uncategorized [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LeaseObligationsNotYetCommenced_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lease obligations not yet commenced</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LeaseObligationsNotYetCommenced_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease Obligations Not Yet Commenced</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LeaseObligationsNotYetCommenced_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Lease obligations not yet commenced.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProcessAnalyticsProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Process Analytics Products Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ProcessAnalyticsProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Process Analytics Products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentTypeCategorizationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Investments [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Standards Update [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Adjustments for New Accounting Pronouncements [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Quarterly Financial Information Disclosure [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other income (expenses):</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Nonoperating Income (Expense) [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes threshold percentage of stock price trigger</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from External Customers by Products and Services [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockholdersEquityNoteDisclosureTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stockholders Equity Note Disclosure [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockholdersEquityNoteDisclosureTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stockholders Equity Note Disclosure [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockholdersEquityNoteDisclosureTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stockholders Equity Note Disclosure [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TrademarksMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Trademarks</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TrademarksMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trademarks [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash flows from investing activities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfFinancingCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Amortization of debt discount and issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfFinancingCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amortization of Debt Issuance Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StateAndLocalJurisdictionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">State and Local Jurisdiction [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StateAndLocalJurisdictionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">State</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShortTermContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Short-term contingent consideration.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShortTermContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Short Term Contingent Consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ShortTermContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Short-term contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impairment to goodwill</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill, Impairment Loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Segment Reporting, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Segment Reporting</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares Outstanding, Diluted, Adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Dilutive potential common shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Dilutive potential common shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Dilutive potential common shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherInformationPertainingToIncomeTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Information Pertaining to Income Taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherInformationPertainingToIncomeTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net operating loss and business tax credit carry forwards expiration date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTable_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Concentration Risk [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Lived Tangible Asset [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash, Cash Equivalents and Restricted Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tabular disclosure of business combination consideration transferred.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Business Combination Consideration Transferred [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Business Combination Consideration Transferred</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Increase (Decrease) in Inventories, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Inventories</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Inventories</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContingentConsiderationByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contingent Consideration by Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContingentConsiderationByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent Consideration by Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Contract with Customer, Liability, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">The beginning deferred revenue balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_VehiclesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vehicles [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_VehiclesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Vehicles [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Cash Equivalents [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Liabilities, Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Acquired intangible assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Options exercisable at December 31, 2021</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AccruedLiabilitiesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accrued Liabilities, Policy [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AccruedLiabilitiesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Liabilities [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_AccruedLiabilitiesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Common Stock, Shares, Outstanding, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Common Stock, Shares, Outstanding, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Shares, Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock, shares outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Share-based Compensation Arrangement by Share-based Payment Award, Options and Equity Instruments Other Than Options, Nonvested, Number of Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Options and Equity Instruments Other Than Options, Nonvested, Number of Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of unvested options and restricted stock units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted Average, Forfeited/Cancelled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restructuring Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Restructuring Costs, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred Tax Liabilities, Conversion Option on Convertible Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Liabilities, Conversion Option on Convertible Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Conversion option on convertible notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Supplemental Cash Flow Elements [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Supplemental disclosure of non-cash investing and financing activities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective income tax rate reconciliation, nondeductible expense, contingent consideration,amount.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Contingent consideration,Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EarnoutConsiderationEarned_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Earnout consideration earned</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EarnoutConsiderationEarned_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnout Consideration Earned</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_EarnoutConsiderationEarned_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Earnout consideration earned.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetirementPlanTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retirement Plan Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetirementPlanTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Retirement Plan Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Statement Location [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Statement Location [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Granted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination and Asset Acquisition [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Cash and cash equivalents And money market funds.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash And Cash Equivalents And Money Market Funds [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash equivalents and marketable securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentType_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Type</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Shares, Conversion of Convertible Securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Conversion of Convertible Securities Stock Issued | shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountingStandardsUpdate202006Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Standards Update 2020-06 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountingStandardsUpdate202006Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounting Standards Update 2020-06</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contingent Consideration Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contingent consideration expense.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_OwnershipAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Ownership [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryCurrentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Current [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryCurrentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventory, Current [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Investing Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total cash used in investing activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of Deferred Tax Assets and Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Deferred Tax Assets and Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Deferred Tax Assets and Liabilities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Counterparty Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill and Intangible Assets Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Goodwill and Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule Of Earnings Per Share Basic And Diluted [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Earnings Per Share Basic And Diluted [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Earnings Per Share Basic And Diluted [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Shares, Forfeited/cancelled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total cash provided by (used in) financing activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Financing Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Redemption, Period [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt Instrument, Redemption, Period [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityFilerCategory_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Filer Category</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Tax Credit Carryforwards, Research</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Capitalized research and development</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restricted Stock Units and Performance Stock Units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restricted Stock And Performance Stock Units [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Restricted stock units and performance stock units.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BalanceSheetLocationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Balance Sheet Location [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Increase (Decrease) in Accrued Liabilities, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Accrued Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Accrued expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Foreign currency translation adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Before Income Taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeographicConcentrationRiskMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Geographic Concentration Risk [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxRateReconciliationTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Income Tax Rate Reconciliation [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxRateReconciliationTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Rate Reconciliation [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxRateReconciliationTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Tax Rate Reconciliation [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Issuance of common stock pursuant to the Avitide, Inc.contingent consideration earnout payment (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Shares,Contingent Consideration Earnout Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stock Issued During Period, shares,contingent consideration earnout payments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable, Allowance for Credit Loss, Writeoff</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current period change for write-offs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TradeNamesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trade Names [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TradeNamesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Trademark and tradename [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueByAssetClassAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Asset Class [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other income (expenses), net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Nonoperating Income (Expense)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Tax Assets, Tax Credit Carryforwards, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Tax Credit Carryforwards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business tax credit carryforwards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NoncompeteAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Noncompete Agreements [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NoncompeteAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Non-compete agreements</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NoncompeteAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non-competition agreements</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RgenFacilityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Rgen Facility [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RgenFacilityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Rgen Facility [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Liabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Liabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Difference between U.S. and foreign tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property, Plant and Equipment [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MachineryAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Machinery and Equipment, Gross, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MachineryAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Machinery and Equipment, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MachineryAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarlyRepaymentOfSeniorDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Early Repayment of Senior Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarlyRepaymentOfSeniorDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Repayment Of Senior Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Useful Life</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Weighted Average Useful Life (in years)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expected useful life</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accumulated Other Comprehensive Income (Loss) [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Other Comprehensive Income (Loss) [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetImpairmentCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impairment charges</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetImpairmentCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Asset Impairment Charges</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetImpairmentCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Asset Impairment Charges, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity, Attributable to Parent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total stockholders' equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Weighted Average Useful Life (in years)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockholdersEquityNoteDisclosureLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stockholders Equity Note Disclosure [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockholdersEquityNoteDisclosureLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stockholders Equity Note Disclosure [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_StockholdersEquityNoteDisclosureLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stockholders Equity Note Disclosure [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Documents Incorporated by Reference</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Documents Incorporated by Reference [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Intangible Assets, Net (Excluding Goodwill)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Intangible assets, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Net Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Interest Expense, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Interest Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestExpense_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Interest expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_Rule10B51ArrModifiedFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Rule 10b5-1 Arrangement Modified</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_Rule10B51ArrModifiedFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Rule 10b5 1 Arr Modified Flag</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_Rule10B51ArrModifiedFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Rule 10b5 1 Arr modified flag.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2040Member_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tax Year 2040.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2040Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Tax Year 2040 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYear2040Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tax Year 2040</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Cash Equivalents [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">State income and franchise tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Compensation Expense, Excluding Cost of Good and Service Sold</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AreaOfLand_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Area of Land</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AreaOfLand_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expansion of existing premises</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AreaOfLand_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Area Of Land</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Aggregate Intrinsic Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Measurement, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Measurement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire Held-to-Maturity Securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Purchase of marketable securities held to maturity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Financial Position [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Basis of Presentation and Significant Accounting Policies [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Basis of presentation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exercise of stock options and vesting of stock units (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares Outstanding, Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYearTwoThousandThirtySevenMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tax Year 2037</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYearTwoThousandThirtySevenMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Tax Year Two Thousand Thirty Seven [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TaxYearTwoThousandThirtySevenMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tax year 2037.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Effective Income Tax Rate Reconciliation, Tax Contingency, Percent, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Tax Contingency, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Uncertain tax provisions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Reconciliation of Federal Statutory Rate to Effective Income Tax Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Income tax provision</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Income tax provision</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Weighted Average Remaining Lease Term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Weighted average remaining lease term (years)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Redemption Price, Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes redemption price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Summary of Positions for which Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Reconciliation of Unrecognized Tax Benefits</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UseOfEstimates_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Use of Estimates, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UseOfEstimates_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Use of Estimates</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net asset acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent Consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contingent consideration.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ContingentConsiderationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contingent Consideration [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Net [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred tax assets:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LossOnDebtConversion_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Loss on conversion of debt included in other expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LossOnDebtConversion_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Loss On Debt Conversion</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_LossOnDebtConversion_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Loss on debt conversion.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Options outstanding at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Options outstanding at December 31, 2022</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock options, weighted average exercise price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentFaceAmountInCash_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Debt Instrument Face Amount in Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentFaceAmountInCash_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Face Amount in Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DebtInstrumentFaceAmountInCash_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt Instrument Face Amount in Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesRestrictedStock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares, Restricted Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesRestrictedStock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Options and stock units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Reconciliation of Basic and Diluted Shares Amounts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Interest Expense, Debt, Excluding Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contractual coupon interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationTechniqueAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Valuation Approach and Technique [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Disaggregation of Revenue [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Disaggregation of Revenue [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Leasehold Improvements [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxAuthorityAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Authority [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxAuthorityAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Tax Authority [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SubscriptionTransactionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Subscription Transactions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SubscriptionTransactionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subscription Transactions [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_SubscriptionTransactionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Subscription transactions.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CommitmentsAndContingenciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Commitments and Contingencies [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CommitmentsAndContingenciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitments and Contingencies [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_CommitmentsAndContingenciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commitments and Contingencies [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueDisclosuresAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Disclosures [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostsAndExpensesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Costs and Expenses [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostsAndExpensesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Costs and operating expenses:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RevenueAndVolumeDiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue and volume discount rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RevenueAndVolumeDiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue and volume discount rate.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RevenueAndVolumeDiscountRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue and Volume Discount Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RevenueAndVolumeBasedPaymentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue and Volume Based Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RevenueAndVolumeBasedPaymentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue and volume based payments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_RevenueAndVolumeBasedPaymentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue and Volume Based Payments [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Current Income Tax Expense (Benefit), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Current Income Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FurnitureAndFixturesGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Furniture and Fixtures, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FurnitureAndFixturesGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Furniture, fixtures and office equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Tabular disclosure of discount rate and remaining lease term of operating and financial leases.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Discount Rate And Lease Term Used In Calculating Lease Liabilities And Assets [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Hierarchy and NAV [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Frequency [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Payments to Acquire Property, Plant, and Equipment, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire Property, Plant, and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Purchases of property, plant and equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TypeOfRestructuringDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Type of Restructuring [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OptionToPurchaseAdditionalDebtFaceAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Option to purchase additional debt face amount.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OptionToPurchaseAdditionalDebtFaceAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Option to Purchase Additional Debt Face Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_OptionToPurchaseAdditionalDebtFaceAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Additional Notes issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred tax liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax and Other Liabilities, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Income Tax Reconciliation Return to Provision Adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Reconciliation Return to Provision Adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Return to provision adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Shares, Vested</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Shares, New Issues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from issuance of common stock, net of issuance costs (in shares)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Employee-related Liabilities, Current, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Employee-related Liabilities, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Employee compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ArtesynBiosolutionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">ARTeSYN Biosolutions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ArtesynBiosolutionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">ARTeSYN Biosolutions [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ArtesynBiosolutionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">ARTeSYN Biosolutions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_ArtesynBiosolutionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">ARTeSYN</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business Acquisition [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredRevenueCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Revenue, Current, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredRevenueCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Revenue, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredRevenueCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Disclosure [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_NorthAmericaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">North America [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_NorthAmericaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">North America</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Dilutive securities effect on basic earnings per share contingent consideration.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Dilutive Securities Effect On Basic Earnings Per Share Contingent Consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TwoZeroTwoThreeNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2023 Notes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TwoZeroTwoThreeNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Two Zero Two Three Notes [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_TwoZeroTwoThreeNotesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Two zero two three Notes.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Operating Loss Carryforwards, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Loss Carryforwards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net operating loss carry forwards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonExecutiveMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Non-Executive [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonExecutiveMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Non-Executive [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="rgen_NonExecutiveMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Awards Granted to Non-Executive Level Employees</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetirementPlanSponsorLocationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retirement Plan Sponsor Location [Axis]</link:label>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_VolatilityRateOfContingentConsideration" xlink:to="rgen_VolatilityRateOfContingentConsideration_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorFirmId" xlink:to="dei_AuditorFirmId_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" xlink:to="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtInstrumentExchangeAmount" xlink:to="rgen_DebtInstrumentExchangeAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MoneyMarketFundsMember" xlink:to="us-gaap_MoneyMarketFundsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestOnConvertibleDebtNetOfTax" xlink:to="us-gaap_InterestOnConvertibleDebtNetOfTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCostAndReserveLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentOther" xlink:to="us-gaap_PropertyPlantAndEquipmentOther_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_MetenovaHoldingAbMember" xlink:to="rgen_MetenovaHoldingAbMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsMember" xlink:to="us-gaap_OtherAssetsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel1Member" xlink:to="us-gaap_FairValueInputsLevel1Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="rgen_IntangibleAssetsLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" xlink:to="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CustomerNumberOneMember" xlink:to="rgen_CustomerNumberOneMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtInstrumentExchangedAmountCancelled" xlink:to="rgen_DebtInstrumentExchangedAmountCancelled_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:to="rgen_ScheduleOfIncomeBeforeIncomeTaxTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_RDAndCommercializationBasedPaymentsMember" xlink:to="rgen_RDAndCommercializationBasedPaymentsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FiltrationProductsMember" xlink:to="rgen_FiltrationProductsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_IcfrAuditorAttestationFlag" xlink:to="dei_IcfrAuditorAttestationFlag_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_MeasurementInputEarnoutDiscountRateMember" xlink:to="rgen_MeasurementInputEarnoutDiscountRateMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:to="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_SE" xlink:to="country_SE_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_SalesRevenuesGoodsNetMember" xlink:to="rgen_SalesRevenuesGoodsNetMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_SubscriptionTransactionMember" xlink:to="rgen_SubscriptionTransactionMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessAcquisitionWorkingCapitalAdjustments" xlink:to="rgen_BusinessAcquisitionWorkingCapitalAdjustments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtInstrumentFaceAmountRemaining" xlink:to="rgen_DebtInstrumentFaceAmountRemaining_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureTextBlockAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAcquiredDuringPeriod" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_IncomeTaxesLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ForeignEarningsSubjectToOneTimeTransitionTax" xlink:to="rgen_ForeignEarningsSubjectToOneTimeTransitionTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_StockOptionAndIncentivePlanMember" xlink:to="rgen_StockOptionAndIncentivePlanMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:to="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BioflexAndNtmAcquisitionMember" xlink:to="rgen_BioflexAndNtmAcquisitionMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_EuropeMember" xlink:to="srt_EuropeMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="rgen_ScheduleOfIntangibleAssetsTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonrecurringAdjustmentDomain" xlink:to="us-gaap_NonrecurringAdjustmentDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesFairValueDisclosure" xlink:to="us-gaap_LiabilitiesFairValueDisclosure_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentUnamortizedDiscount" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeSeveranceMember" xlink:to="us-gaap_EmployeeSeveranceMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="us-gaap_ScheduleOfGoodwillTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_LeaseIncentives" xlink:to="rgen_LeaseIncentives_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VestingDomain" xlink:to="us-gaap_VestingDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:to="us-gaap_SegmentReportingAssetReconcilingItemLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CapacityOfBioreactors" xlink:to="rgen_CapacityOfBioreactors_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtTextBlock" xlink:to="us-gaap_LongTermDebtTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ReconciliationOfBasicAndDilutedAbstract" xlink:to="rgen_ReconciliationOfBasicAndDilutedAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:to="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ConvertibleNotesMember" xlink:to="rgen_ConvertibleNotesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" xlink:to="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PercentOfExciseTaxOnNetStockRepurchases" xlink:to="rgen_PercentOfExciseTaxOnNetStockRepurchases_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss" xlink:to="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" xlink:to="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:to="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TwoZeroOneNineNotesMember" xlink:to="rgen_TwoZeroOneNineNotesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireSoftware" xlink:to="us-gaap_PaymentsToAcquireSoftware_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsMember" xlink:to="us-gaap_CashAndCashEquivalentsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" xlink:to="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingExpense" xlink:to="us-gaap_AdvertisingExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AmortizationOfDebtIssuanceCost" xlink:to="rgen_AmortizationOfDebtIssuanceCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy" xlink:to="us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Land" xlink:to="us-gaap_Land_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtInstrumentExchangedAmount" xlink:to="rgen_DebtInstrumentExchangedAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_IncomeTaxRateReconciliationLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtInstrumentAccruedAndUnpaidInterest" xlink:to="rgen_DebtInstrumentAccruedAndUnpaidInterest_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost" xlink:to="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:to="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeFixedInterestRate" xlink:to="us-gaap_DerivativeFixedInterestRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:to="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CTechnologiesMember" xlink:to="rgen_CTechnologiesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringReserveSettledWithoutCash2" xlink:to="us-gaap_RestructuringReserveSettledWithoutCash2_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_CounterpartyNameAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xlink:to="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketableSecuritiesPolicy" xlink:to="us-gaap_MarketableSecuritiesPolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentMaturityDate" xlink:to="us-gaap_DebtInstrumentMaturityDate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_DerivativeContractTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillPurchaseAccountingAdjustments" xlink:to="us-gaap_GoodwillPurchaseAccountingAdjustments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_ClassOfStockDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AssetsNonCurrentExcludingDifferedTaxAssets" xlink:to="rgen_AssetsNonCurrentExcludingDifferedTaxAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringCharges" xlink:to="us-gaap_RestructuringCharges_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NonMetallicSolutionsMember" xlink:to="rgen_NonMetallicSolutionsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AccumulatedDeficitMember" xlink:to="rgen_AccumulatedDeficitMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DeferredTaxLiablitiesMember" xlink:to="rgen_DeferredTaxLiablitiesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIntangibleAssetsMember" xlink:to="us-gaap_OtherIntangibleAssetsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_RisksAndUncertaintiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock" xlink:to="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsFairValueDisclosure" xlink:to="us-gaap_AssetsFairValueDisclosure_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtInstrumentConvertibleIntoEquitySettled" xlink:to="rgen_DebtInstrumentConvertibleIntoEquitySettled_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FacilityDomain" xlink:to="rgen_FacilityDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDebtIssuanceCosts" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_OtherDirectorsOrOfficersMember" xlink:to="rgen_OtherDirectorsOrOfficersMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalizedComputerSoftwareGross" xlink:to="us-gaap_CapitalizedComputerSoftwareGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FlexbiosysIncMember" xlink:to="rgen_FlexbiosysIncMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DiscountRate" xlink:to="rgen_DiscountRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeNet" xlink:to="us-gaap_InvestmentIncomeNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FacilityExitAndOtherExitCostsMember" xlink:to="rgen_FacilityExitAndOtherExitCostsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFinanceCostsNet" xlink:to="us-gaap_DeferredFinanceCostsNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ExecutiveOfficerMember" xlink:to="srt_ExecutiveOfficerMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_RelatedPartyDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue" xlink:to="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_UnlimitedCarryforwardPeriodMember" xlink:to="rgen_UnlimitedCarryforwardPeriodMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:to="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IndefiniteLivedIntangibleAssetsNet" xlink:to="rgen_IndefiniteLivedIntangibleAssetsNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" xlink:to="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" xlink:to="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncreaseDecreaseInOperatingLeaseAsset" xlink:to="rgen_IncreaseDecreaseInOperatingLeaseAsset_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock" xlink:to="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" xlink:to="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_UnderwriterMember" xlink:to="rgen_UnderwriterMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:to="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsGross" xlink:to="us-gaap_LeaseholdImprovementsGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PfizerMember" xlink:to="rgen_PfizerMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedIncomeTaxesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueAbstract" xlink:to="us-gaap_DisaggregationOfRevenueAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:to="us-gaap_DefinedBenefitPlanContributionsByEmployer_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_APACMember" xlink:to="rgen_APACMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" xlink:to="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ProbabilityOfSuccess" xlink:to="rgen_ProbabilityOfSuccess_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:to="rgen_PrepaidExpensesAndOtherCurrentAssetsTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xlink:to="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DefinedContributionPlanEmployeeEligibilityAge" xlink:to="rgen_DefinedContributionPlanEmployeeEligibilityAge_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_FairValueByBalanceSheetGroupingTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_CashAndCashEquivalentsLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:to="us-gaap_DebtConversionConvertedInstrumentAmount1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtFairValue" xlink:to="us-gaap_LongTermDebtFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:to="us-gaap_StockRepurchaseProgramAuthorizedAmount1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ContingentConsiderationObligationEstimated" xlink:to="rgen_ContingentConsiderationObligationEstimated_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CashConsiderationExcludingRestrictedCash" xlink:to="rgen_CashConsiderationExcludingRestrictedCash_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNoncashIncomeExpense" xlink:to="us-gaap_OtherNoncashIncomeExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringReserve" xlink:to="us-gaap_RestructuringReserve_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DeferredTaxImpactOnConversionFeature" xlink:to="rgen_DeferredTaxImpactOnConversionFeature_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorName" xlink:to="dei_AuditorName_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtInstrumentIssuedForCash" xlink:to="rgen_DebtInstrumentIssuedForCash_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:to="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ChromatographyProductsMember" xlink:to="rgen_ChromatographyProductsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NatureOfOperations" xlink:to="us-gaap_NatureOfOperations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRestructuring" xlink:to="us-gaap_PaymentsForRestructuring_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RoyaltyMember" xlink:to="us-gaap_RoyaltyMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FairValueOfEmbeddedConversionOptionMember" xlink:to="rgen_FairValueOfEmbeddedConversionOptionMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DilutiveSecuritiesAbstract" xlink:to="us-gaap_DilutiveSecuritiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="us-gaap_MeasurementInputTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:to="us-gaap_NetIncomeLossAttributableToParentDiluted_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquipmentMember" xlink:to="us-gaap_EquipmentMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NumberOfManufacturingSites" xlink:to="rgen_NumberOfManufacturingSites_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenue" xlink:to="us-gaap_DeferredRevenue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaid" xlink:to="us-gaap_IncomeTaxesPaid_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationTechniqueDomain" xlink:to="us-gaap_ValuationTechniqueDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh" xlink:to="us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ComputerHardwareAndSoftwareMemberMember" xlink:to="rgen_ComputerHardwareAndSoftwareMemberMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" xlink:to="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" xlink:to="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:to="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AdditionalUndiscountedInContingentConsiderationEarnoutPayments" xlink:to="rgen_AdditionalUndiscountedInContingentConsiderationEarnoutPayments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CTechnologiesIncMember" xlink:to="rgen_CTechnologiesIncMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" xlink:to="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_OtherProductsMember" xlink:to="rgen_OtherProductsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_USTreasuryBillSecuritiesMember" xlink:to="us-gaap_USTreasuryBillSecuritiesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TrustForBenefitOfEmployeesMember" xlink:to="us-gaap_TrustForBenefitOfEmployeesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanTypeDomain" xlink:to="us-gaap_RetirementPlanTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateTerms" xlink:to="us-gaap_DebtInstrumentInterestRateTerms_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostTableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DevelopedTechnologyRightsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityDomain" xlink:to="dei_EntityDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportingUnits" xlink:to="us-gaap_NumberOfReportingUnits_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationTaxContingencies" xlink:to="us-gaap_IncomeTaxReconciliationTaxContingencies_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="us-gaap_LesseeLeaseDescriptionTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignPlanMember" xlink:to="us-gaap_ForeignPlanMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:to="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" xlink:to="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_UnvestedOptionsMember" xlink:to="rgen_UnvestedOptionsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" xlink:to="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ManufacturingLineExpansionsMember" xlink:to="rgen_ManufacturingLineExpansionsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NumberOfSharesBasicOutstanding" xlink:to="rgen_NumberOfSharesBasicOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ProteinsProductsMember" xlink:to="rgen_ProteinsProductsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:to="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ProbabilityWeightedPresentValueMember" xlink:to="rgen_ProbabilityWeightedPresentValueMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_BusinessCombinationsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:to="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseCost" xlink:to="us-gaap_OperatingLeaseCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FederalAndStateMember" xlink:to="rgen_FederalAndStateMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_RestructuringCostAndReserveAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" xlink:to="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NewtonNewJerseyMember" xlink:to="rgen_NewtonNewJerseyMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="rgen_ScheduleOfAccruedLiabilitiesLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfSalesMember" xlink:to="us-gaap_CostOfSalesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ExchangedTwoZeroOneNineNotesMember" xlink:to="rgen_ExchangedTwoZeroOneNineNotesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingsAndImprovementsGross" xlink:to="us-gaap_BuildingsAndImprovementsGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="us-gaap_DebtInstrumentNameDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OpenTaxYear" xlink:to="us-gaap_OpenTaxYear_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsRecurringMember" xlink:to="us-gaap_FairValueMeasurementsRecurringMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_APACOtherMember" xlink:to="rgen_APACOtherMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationConsiderationIndemnificationEscrow" xlink:to="rgen_BusinessCombinationConsiderationIndemnificationEscrow_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionPlansDefinedBenefitMember" xlink:to="us-gaap_PensionPlansDefinedBenefitMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" xlink:to="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TaxYear2043Member" xlink:to="rgen_TaxYear2043Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NonEmployeeDirectorStockOptionMember" xlink:to="rgen_NonEmployeeDirectorStockOptionMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" xlink:to="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CommitmentsAndContingenciesTable" xlink:to="rgen_CommitmentsAndContingenciesTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:to="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:to="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xlink:to="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DaylightSolutionsIncMember" xlink:to="rgen_DaylightSolutionsIncMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AcceleratedDepreciationMember" xlink:to="rgen_AcceleratedDepreciationMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PolymemSAMember" xlink:to="rgen_PolymemSAMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:to="us-gaap_DebtInstrumentConvertibleConversionRatio1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrivatePlacementMember" xlink:to="us-gaap_PrivatePlacementMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtInstrumentConvertibleIntoEquity" xlink:to="rgen_DebtInstrumentConvertibleIntoEquity_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssued1" xlink:to="us-gaap_StockIssued1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:to="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LatestTaxYearMember" xlink:to="us-gaap_LatestTaxYearMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_OutstandingTwoZeroTwoThreeNotesMember" xlink:to="rgen_OutstandingTwoZeroTwoThreeNotesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TextBlockAbstract" xlink:to="us-gaap_TextBlockAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_EquityAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="rgen_FiniteLivedIntangibleLiabilitiesLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="us-gaap_EarningsPerShareBasicAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NGLImpactAMember" xlink:to="rgen_NGLImpactAMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AvitideIncMember" xlink:to="rgen_AvitideIncMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="us-gaap_RestructuringAndRelatedActivitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncomeTaxesTable" xlink:to="rgen_IncomeTaxesTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ModifiedTwoZeroOneNineNotesMember" xlink:to="rgen_ModifiedTwoZeroOneNineNotesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesGross" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NoncashInventoryAdjustments" xlink:to="rgen_NoncashInventoryAdjustments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_SummaryOfSignificantAccountingPoliciesLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SubsidiarySaleOfStockAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationAdditionalCashForTransactionBonus" xlink:to="rgen_BusinessCombinationAdditionalCashForTransactionBonus_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DeferredTaxAssetsOperatingLeases" xlink:to="rgen_DeferredTaxAssetsOperatingLeases_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" xlink:to="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarliestTaxYearMember" xlink:to="us-gaap_EarliestTaxYearMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationsCashDepositedInEscrowAccount" xlink:to="rgen_BusinessCombinationsCashDepositedInEscrowAccount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EngineeredMoldingTechnologyLlcMember" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_IncomeTaxAuthorityDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedTranslationAdjustmentMember" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrincipalOwnerMember" xlink:to="us-gaap_PrincipalOwnerMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TonyJHuntMember" xlink:to="rgen_TonyJHuntMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ConvertibleNotesTransactionCostsOfEquityComponent" xlink:to="rgen_ConvertibleNotesTransactionCostsOfEquityComponent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_InflationReductionActOfTwoThousandTwentyTwoMember" xlink:to="rgen_InflationReductionActOfTwoThousandTwentyTwoMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleNotesPayableCurrent" xlink:to="us-gaap_ConvertibleNotesPayableCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleDebtNoncurrent" xlink:to="us-gaap_ConvertibleDebtNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:to="us-gaap_ContractualObligationDueInNextTwelveMonths_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationTaxCredits" xlink:to="us-gaap_IncomeTaxReconciliationTaxCredits_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentIncreaseAccruedInterest" xlink:to="us-gaap_DebtInstrumentIncreaseAccruedInterest_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel3Member" xlink:to="us-gaap_FairValueInputsLevel3Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="us-gaap_ShortTermDebtTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipDomain" xlink:to="srt_OwnershipDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" xlink:to="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_PayablesAndAccrualsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_AssetsNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:to="us-gaap_PaymentsForProceedsFromOtherInvestingActivities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsGrossExcludingGoodwill_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BioflexMember" xlink:to="rgen_BioflexMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NoncashInterestIncome" xlink:to="rgen_NoncashInterestIncome_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanSponsorLocationDomain" xlink:to="us-gaap_RetirementPlanSponsorLocationDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFinStmtErrorCorrectionFlag" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfAccruedLiabilitiesTable" xlink:to="rgen_ScheduleOfAccruedLiabilitiesTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:to="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_CreditLossAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" xlink:to="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PostemploymentBenefitsAbstract" xlink:to="us-gaap_PostemploymentBenefitsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NotesIssued1" xlink:to="us-gaap_NotesIssued1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FacilityAndOtherExitCostsMember" xlink:to="rgen_FacilityAndOtherExitCostsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:to="us-gaap_IncomeTaxReconciliationOtherReconcilingItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidTaxes" xlink:to="us-gaap_PrepaidTaxes_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" xlink:to="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_MeasurementInputRevenueVolumeDiscountRateMember" xlink:to="rgen_MeasurementInputRevenueVolumeDiscountRateMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_MeasurementInputProbabilityOfSuccessMember" xlink:to="rgen_MeasurementInputProbabilityOfSuccessMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContingentConsiderationTypeDomain" xlink:to="us-gaap_ContingentConsiderationTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DilutiveEffectOnSharesOfConversionPremium" xlink:to="rgen_DilutiveEffectOnSharesOfConversionPremium_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ExchangeTransactionMember" xlink:to="rgen_ExchangeTransactionMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PrepaidServicesAndProfessionalFees" xlink:to="rgen_PrepaidServicesAndProfessionalFees_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleDebtTableTextBlock" xlink:to="us-gaap_ConvertibleDebtTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:to="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ModificationOfDebt" xlink:to="rgen_ModificationOfDebt_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_LeaseCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RoyaltyExpense" xlink:to="us-gaap_RoyaltyExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_VariableOperatingLeaseCost" xlink:to="rgen_VariableOperatingLeaseCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:to="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" xlink:to="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" xlink:to="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" xlink:to="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionInProgressGross" xlink:to="us-gaap_ConstructionInProgressGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_RevenueAndVolumeProjectionsPerformancePeriod" xlink:to="rgen_RevenueAndVolumeProjectionsPerformancePeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsCurrent" xlink:to="us-gaap_OtherAssetsCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingMember" xlink:to="us-gaap_BuildingMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExaminationTable" xlink:to="us-gaap_IncomeTaxExaminationTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAccountsReceivableMember" xlink:to="us-gaap_TradeAccountsReceivableMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ExchangeAndSubscriptionAgreementsMember" xlink:to="rgen_ExchangeAndSubscriptionAgreementsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_OperatingLeasedAssetsLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TrueUpCostsDecember2020Member" xlink:to="rgen_TrueUpCostsDecember2020Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfessionalFees" xlink:to="us-gaap_ProfessionalFees_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_InventoryAdjustmentsMember" xlink:to="rgen_InventoryAdjustmentsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:to="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonrecurringAdjustmentAxis" xlink:to="us-gaap_NonrecurringAdjustmentAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:to="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DeferredTaxLiabilitiesDebtDiscount" xlink:to="rgen_DeferredTaxLiabilitiesDebtDiscount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AmortizationOfInventoryStepUp" xlink:to="rgen_AmortizationOfInventoryStepUp_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" xlink:to="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ExtinguishmentOfDebtAmount" xlink:to="us-gaap_ExtinguishmentOfDebtAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PatentsMember" xlink:to="us-gaap_PatentsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReasonForChangeInDateOfAnnualGoodwillImpairmentTest" xlink:to="us-gaap_ReasonForChangeInDateOfAnnualGoodwillImpairmentTest_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DomesticCountryMember" xlink:to="us-gaap_DomesticCountryMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_SpectrumIncMember" xlink:to="rgen_SpectrumIncMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromConvertibleDebt" xlink:to="us-gaap_ProceedsFromConvertibleDebt_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="rgen_SummaryOfSignificantAccountingPoliciesTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NotesMember" xlink:to="rgen_NotesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxCreditCarryforwardAmount" xlink:to="us-gaap_TaxCreditCarryforwardAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TaxYear2041Member" xlink:to="rgen_TaxYear2041Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewDateOfAnnualGoodwillImpairmentTest" xlink:to="us-gaap_NewDateOfAnnualGoodwillImpairmentTest_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xlink:to="rgen_DeferredIncomeTaxLiabilitiesFixedAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_TypeOfAdoptionMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:to="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:to="us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalUnitsMember" xlink:to="us-gaap_CapitalUnitsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditLossFinancialInstrumentTextBlock" xlink:to="us-gaap_CreditLossFinancialInstrumentTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:to="rgen_IncreaseDecreaseInOperatingLeaseLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeasesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" xlink:to="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_MilliporeSigmaMember" xlink:to="rgen_MilliporeSigmaMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="us-gaap_TaxPeriodDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:to="us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_OptionToPurchaseCommonStockMember" xlink:to="rgen_OptionToPurchaseCommonStockMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" xlink:to="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:to="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" xlink:to="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_WeightedAverageDiscountRate" xlink:to="rgen_WeightedAverageDiscountRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" xlink:to="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CommonStockIssuePricePerShare" xlink:to="rgen_CommonStockIssuePricePerShare_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_CostsAndExpenses_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorLocation" xlink:to="dei_AuditorLocation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_LongTermContingentConsideration" xlink:to="rgen_LongTermContingentConsideration_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:to="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DefinedContribution401KPlanMember" xlink:to="rgen_DefinedContribution401KPlanMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExaminationLineItems" xlink:to="us-gaap_IncomeTaxExaminationLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesAbstract" xlink:to="us-gaap_RevenuesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TrademarksAndTradeNamesMember" xlink:to="us-gaap_TrademarksAndTradeNamesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PuroliteMember" xlink:to="rgen_PuroliteMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CashAndMoneyMarketFundsMember" xlink:to="rgen_CashAndMoneyMarketFundsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputPriceVolatilityMember" xlink:to="us-gaap_MeasurementInputPriceVolatilityMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:to="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PercentageOfSharesSubjectToForfeiture" xlink:to="rgen_PercentageOfSharesSubjectToForfeiture_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:to="us-gaap_DebtInstrumentInterestRateDuringPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_MonteCarloSimulationMember" xlink:to="rgen_MonteCarloSimulationMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentArrangementMember" xlink:to="us-gaap_ResearchAndDevelopmentArrangementMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TrdArrExpirationDate" xlink:to="rgen_TrdArrExpirationDate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillMember" xlink:to="us-gaap_GoodwillMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_BusinessCombinationTransactionCostPaidDuringPeriod" xlink:to="rgen_BusinessCombinationTransactionCostPaidDuringPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" xlink:to="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInventory" xlink:to="us-gaap_DeferredTaxAssetsInventory_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HeldToMaturitySecuritiesCurrent" xlink:to="us-gaap_HeldToMaturitySecuritiesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfDebtDiscountPremium" xlink:to="us-gaap_AmortizationOfDebtDiscountPremium_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AvitideLlcMember" xlink:to="rgen_AvitideLlcMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NetWorkingCapitalExcludingCashAndInventory" xlink:to="rgen_NetWorkingCapitalExcludingCashAndInventory_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_PercentageOfCurrentFederalTaxExpenseBenefit" xlink:to="rgen_PercentageOfCurrentFederalTaxExpenseBenefit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidInsurance" xlink:to="us-gaap_PrepaidInsurance_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_RgenFacilityAxis" xlink:to="rgen_RgenFacilityAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_FacilityAxis" xlink:to="rgen_FacilityAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AvitideAndFlexbiosysMember" xlink:to="rgen_AvitideAndFlexbiosysMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" xlink:to="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductMember" xlink:to="us-gaap_ProductMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" xlink:to="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharePrice" xlink:to="us-gaap_SharePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_DebtInstrumentCarryingAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AvailableForSaleSecuritiesEstimatedFairValue" xlink:to="rgen_AvailableForSaleSecuritiesEstimatedFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_UncategorizedAbstract" xlink:to="rgen_UncategorizedAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_LeaseObligationsNotYetCommenced" xlink:to="rgen_LeaseObligationsNotYetCommenced_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ProcessAnalyticsProductsMember" xlink:to="rgen_ProcessAnalyticsProductsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_InvestmentTypeCategorizationMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_QuarterlyFinancialInformationDisclosureAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="rgen_StockholdersEquityNoteDisclosureTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TrademarksMember" xlink:to="us-gaap_TrademarksMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfFinancingCosts" xlink:to="us-gaap_AmortizationOfFinancingCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StateAndLocalJurisdictionMember" xlink:to="us-gaap_StateAndLocalJurisdictionMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ShortTermContingentConsideration" xlink:to="rgen_ShortTermContingentConsideration_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillImpairmentLoss" xlink:to="us-gaap_GoodwillImpairmentLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherInformationPertainingToIncomeTaxes" xlink:to="us-gaap_OtherInformationPertainingToIncomeTaxes_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:to="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" xlink:to="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContingentConsiderationByTypeAxis" xlink:to="us-gaap_ContingentConsiderationByTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VehiclesMember" xlink:to="us-gaap_VehiclesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_CashAndCashEquivalentsAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_AccruedLiabilitiesPolicyTextBlock" xlink:to="rgen_AccruedLiabilitiesPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" xlink:to="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringCosts" xlink:to="us-gaap_RestructuringCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xlink:to="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_SupplementalCashFlowElementsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_EarnoutConsiderationEarned" xlink:to="rgen_EarnoutConsiderationEarned_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:to="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember" xlink:to="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:to="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingStandardsUpdate202006Member" xlink:to="us-gaap_AccountingStandardsUpdate202006Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ContingentConsiderationExpense" xlink:to="rgen_ContingentConsiderationExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryCurrentTable" xlink:to="us-gaap_InventoryCurrentTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:to="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_RestrictedStockAndPerformanceStockUnitsMember" xlink:to="rgen_RestrictedStockAndPerformanceStockUnitsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeographicConcentrationRiskMember" xlink:to="us-gaap_GeographicConcentrationRiskMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncomeTaxRateReconciliationTable" xlink:to="rgen_IncomeTaxRateReconciliationTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" xlink:to="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeNamesMember" xlink:to="us-gaap_TradeNamesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueByAssetClassAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncompeteAgreementsMember" xlink:to="us-gaap_NoncompeteAgreementsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_RgenFacilityDomain" xlink:to="rgen_RgenFacilityDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentGross" xlink:to="us-gaap_MachineryAndEquipmentGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarlyRepaymentOfSeniorDebt" xlink:to="us-gaap_EarlyRepaymentOfSeniorDebt_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetImpairmentCharges" xlink:to="us-gaap_AssetImpairmentCharges_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="rgen_StockholdersEquityNoteDisclosureLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_Rule10B51ArrModifiedFlag" xlink:to="rgen_Rule10B51ArrModifiedFlag_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TaxYear2040Member" xlink:to="rgen_TaxYear2040Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" xlink:to="us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AreaOfLand" xlink:to="us-gaap_AreaOfLand_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:to="us-gaap_PaymentsToAcquireHeldToMaturitySecurities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TaxYearTwoThousandThirtySevenMember" xlink:to="rgen_TaxYearTwoThousandThirtySevenMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:to="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ContingentConsiderationMember" xlink:to="rgen_ContingentConsiderationMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_LossOnDebtConversion" xlink:to="rgen_LossOnDebtConversion_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DebtInstrumentFaceAmountInCash" xlink:to="rgen_DebtInstrumentFaceAmountInCash_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:to="us-gaap_WeightedAverageNumberOfSharesRestrictedStock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseDebtExcludingAmortization" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationTechniqueAxis" xlink:to="us-gaap_ValuationTechniqueAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_SubscriptionTransactionsMember" xlink:to="rgen_SubscriptionTransactionsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_CommitmentsAndContingenciesLineItems" xlink:to="rgen_CommitmentsAndContingenciesLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostsAndExpensesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_RevenueAndVolumeDiscountRate" xlink:to="rgen_RevenueAndVolumeDiscountRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_RevenueAndVolumeBasedPaymentsMember" xlink:to="rgen_RevenueAndVolumeBasedPaymentsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesGross" xlink:to="us-gaap_FurnitureAndFixturesGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" xlink:to="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="us-gaap_TypeOfRestructuringDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_OptionToPurchaseAdditionalDebtFaceAmount" xlink:to="rgen_OptionToPurchaseAdditionalDebtFaceAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" xlink:to="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" xlink:to="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_ArtesynBiosolutionsMember" xlink:to="rgen_ArtesynBiosolutionsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueCurrent" xlink:to="us-gaap_DeferredRevenueCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NorthAmericaMember" xlink:to="srt_NorthAmericaMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" xlink:to="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_TwoZeroTwoThreeNotesMember" xlink:to="rgen_TwoZeroTwoThreeNotesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgen_NonExecutiveMember" xlink:to="rgen_NonExecutiveMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanSponsorLocationAxis" xlink:to="us-gaap_RetirementPlanSponsorLocationAxis_lbl"/>
        </link:labelLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/CoverPage" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName" xlink:label="dei_AuditorName"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AmendmentFlag" order="49.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentType" order="50.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalYearFocus" order="51.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalPeriodFocus" order="52.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCentralIndexKey" order="53.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CurrentFiscalYearEndDate" order="54.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentPeriodEndDate" order="55.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCurrentReportingStatus" order="56.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityInteractiveDataCurrent" order="57.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFileNumber" order="58.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityRegistrantName" order="59.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFilerCategory" order="60.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_TradingSymbol" order="61.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_Security12bTitle" order="62.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_SecurityExchangeName" order="63.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityIncorporationStateCountryCode" order="64.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityTaxIdentificationNumber" order="65.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressAddressLine1" order="66.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressCityOrTown" order="67.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressStateOrProvince" order="68.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressPostalZipCode" order="69.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CityAreaCode" order="70.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityShellCompany" order="71.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntitySmallBusiness" order="72.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityEmergingGrowthCompany" order="73.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_LocalPhoneNumber" order="74.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentAnnualReport" order="75.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentTransitionReport" order="76.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityVoluntaryFilers" order="77.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityWellKnownSeasonedIssuer" order="78.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityPublicFloat" order="79.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCommonStockSharesOutstanding" order="80.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_IcfrAuditorAttestationFlag" order="81.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock" order="82.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AuditorFirmId" order="83.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AuditorName" order="84.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AuditorLocation" order="85.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag" order="86.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HeldToMaturitySecuritiesCurrent" xlink:label="us-gaap_HeldToMaturitySecuritiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtNoncurrent" xlink:label="us-gaap_ConvertibleDebtNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsNoncurrent" xlink:label="us-gaap_AssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsCurrentAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_PreferredStockValue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_AssetsAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_HeldToMaturitySecuritiesCurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_ConvertibleDebtNoncurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedLiabilitiesCurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Goodwill" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ConvertibleNotesPayableCurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesNoncurrent" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsNoncurrent" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_Liabilities" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Assets" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesAuthorized" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesIssued" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesOutstanding" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesAbstract" xlink:label="us-gaap_RevenuesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="us-gaap_CostsAndExpensesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RoyaltyMember" xlink:label="us-gaap_RoyaltyMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfDebtIssuanceCost" xlink:label="rgen_AmortizationOfDebtIssuanceCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_9"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenuesAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InvestmentIncomeNet" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSold" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_RoyaltyMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostsAndExpensesAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestExpense" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingIncomeLoss" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseAbstract" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="rgen_AmortizationOfDebtIssuanceCost" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostsAndExpenses" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss_9" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TrueUpCostsDecember2020Member" xlink:label="rgen_TrueUpCostsDecember2020Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingStandardsUpdate202006Member" xlink:label="us-gaap_AccountingStandardsUpdate202006Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" xlink:label="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" xlink:label="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxImpactOnConversionFeature" xlink:label="rgen_DeferredTaxImpactOnConversionFeature"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_21"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding_22"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_TrueUpCostsDecember2020Member" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate202006Member" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" order="18" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_DeferredTaxImpactOnConversionFeature" order="19" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" order="20" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity_21" order="21" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding_22" order="22" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquityParenthetical" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfInventoryStepUp" xlink:label="rgen_AmortizationOfInventoryStepUp"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesIncMember" xlink:label="rgen_CTechnologiesIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:label="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssued1" xlink:label="us-gaap_StockIssued1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireSoftware" xlink:label="us-gaap_PaymentsToAcquireSoftware"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" xlink:label="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:label="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" xlink:label="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesIssued1" xlink:label="us-gaap_NotesIssued1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ExtinguishmentOfDebtAmount" xlink:label="us-gaap_ExtinguishmentOfDebtAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashInterestIncome" xlink:label="rgen_NoncashInterestIncome"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_IncomeTaxesPaidNet" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="rgen_AmortizationOfInventoryStepUp" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesIncMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireHeldToMaturitySecurities" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_InterestPaidNet" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationAndAmortization" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromConvertibleDebt" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_StockIssued1" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfDebtDiscountPremium" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireSoftware" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_NotesIssued1" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_ExtinguishmentOfDebtAmount" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="rgen_NoncashInterestIncome" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsForProceedsFromOtherInvestingActivities" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_OtherNoncashIncomeExpense" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SupplementalCashFlowElementsAbstract" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember" xlink:label="ecd_AllIndividualsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TonyJHuntMember" xlink:label="rgen_TonyJHuntMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherDirectorsOrOfficersMember" xlink:label="rgen_OtherDirectorsOrOfficersMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingArrLineItems" xlink:label="ecd_InsiderTradingArrLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_Rule10B51ArrModifiedFlag" xlink:label="rgen_Rule10B51ArrModifiedFlag"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TrdArrExpirationDate" xlink:label="rgen_TrdArrExpirationDate"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_AllIndividualsMember" xlink:to="rgen_TonyJHuntMember" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_AllIndividualsMember" xlink:to="rgen_OtherDirectorsOrOfficersMember" order="3.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_InsiderTradingArrLineItems" xlink:to="rgen_Rule10B51ArrModifiedFlag" order="13.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_InsiderTradingArrLineItems" xlink:to="rgen_TrdArrExpirationDate" order="14.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NatureOfOperations" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurements" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/Acquisitions" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:label="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlan" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:label="us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:label="us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/Leases" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognition" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/CreditLosses" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditLossAbstract" xlink:label="us-gaap_CreditLossAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditLossFinancialInstrumentTextBlock" xlink:label="us-gaap_CreditLossFinancialInstrumentTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_CreditLossFinancialInstrumentTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssets" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquity" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingencies" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotes" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_LongTermDebtTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ComprehensiveIncomeNoteTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PostemploymentBenefitsAbstract" xlink:label="us-gaap_PostemploymentBenefitsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:label="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PostemploymentBenefitsAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" xlink:label="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesPolicy" xlink:label="us-gaap_MarketableSecuritiesPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy" xlink:label="us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AccruedLiabilitiesPolicyTextBlock" xlink:label="rgen_AccruedLiabilitiesPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_MarketableSecuritiesPolicy" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="rgen_AccruedLiabilitiesPolicyTextBlock" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConcentrationRiskCreditRisk" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" order="18" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock" order="19" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" order="20" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SalesRevenuesGoodsNetMember" xlink:label="rgen_SalesRevenuesGoodsNetMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" xlink:label="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAccountsReceivableMember" xlink:label="us-gaap_TradeAccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" xlink:label="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="rgen_SalesRevenuesGoodsNetMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_TradeAccountsReceivableMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock" xlink:label="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock" xlink:label="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract" xlink:label="us-gaap_TextBlockAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" xlink:label="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TextBlockAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexAndNtmAcquisitionMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_PolymemSAMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesMember" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:label="us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:label="us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" xlink:label="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" xlink:label="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" xlink:label="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeaseCostTableTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognitionTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/CreditLossesTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditLossAbstract" xlink:label="us-gaap_CreditLossAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" xlink:label="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" xlink:label="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:label="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtTableTextBlock" xlink:label="us-gaap_ConvertibleDebtTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_ConvertibleDebtTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureOrganizationAndNatureOfBusinessAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NumberOfManufacturingSites" xlink:label="rgen_NumberOfManufacturingSites"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="rgen_NumberOfManufacturingSites" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PfizerMember" xlink:label="rgen_PfizerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingStandardsUpdate202006Member" xlink:label="us-gaap_AccountingStandardsUpdate202006Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonExecutiveMember" xlink:label="rgen_NonExecutiveMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CustomerNumberOneMember" xlink:label="rgen_CustomerNumberOneMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PuroliteMember" xlink:label="rgen_PuroliteMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestOnConvertibleDebtNetOfTax" xlink:label="us-gaap_InterestOnConvertibleDebtNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OptionToPurchaseCommonStockMember" xlink:label="rgen_OptionToPurchaseCommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RestrictedStockAndPerformanceStockUnitsMember" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveEffectOnSharesOfConversionPremium" xlink:label="rgen_DilutiveEffectOnSharesOfConversionPremium"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonEmployeeDirectorStockOptionMember" xlink:label="rgen_NonEmployeeDirectorStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense" xlink:label="us-gaap_AdvertisingExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationObligationEstimated" xlink:label="rgen_ContingentConsiderationObligationEstimated"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportingUnits" xlink:label="us-gaap_NumberOfReportingUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReasonForChangeInDateOfAnnualGoodwillImpairmentTest" xlink:label="us-gaap_ReasonForChangeInDateOfAnnualGoodwillImpairmentTest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewDateOfAnnualGoodwillImpairmentTest" xlink:label="us-gaap_NewDateOfAnnualGoodwillImpairmentTest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="rgen_SummaryOfSignificantAccountingPoliciesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_PfizerMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_MajorCustomersAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate202006Member" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="rgen_NonExecutiveMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_CustomerNumberOneMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_AwardTypeAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_PuroliteMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_RangeAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_InterestOnConvertibleDebtNetOfTax" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_TitleOfIndividualAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_OptionToPurchaseCommonStockMember" order="4.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_DebtInstrumentAxis" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" order="5.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_RestrictedStockAndPerformanceStockUnitsMember" order="6.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DilutiveEffectOnSharesOfConversionPremium" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_NonEmployeeDirectorStockOptionMember" order="7.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_PercentageOfSharesSubjectToForfeiture" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" order="8.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_AdvertisingExpense" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="rgen_SummaryOfSignificantAccountingPoliciesLineItems" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_ContingentConsiderationObligationEstimated" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_NumberOfReportingUnits" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ReasonForChangeInDateOfAnnualGoodwillImpairmentTest" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_NewDateOfAnnualGoodwillImpairmentTest" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_GoodwillImpairmentLoss" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_AssetImpairmentCharges" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_Cash" order="18" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_NumberOfOperatingSegments" order="19" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquipmentMember" xlink:label="us-gaap_EquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" xlink:label="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ComputerHardwareAndSoftwareMemberMember" xlink:label="rgen_ComputerHardwareAndSoftwareMemberMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="srt_RangeAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_EquipmentMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="rgen_ComputerHardwareAndSoftwareMemberMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_VehiclesMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ReconciliationOfBasicAndDilutedAbstract" xlink:label="rgen_ReconciliationOfBasicAndDilutedAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:label="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:label="us-gaap_WeightedAverageNumberOfSharesRestrictedStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DilutiveSecuritiesAbstract" xlink:label="us-gaap_DilutiveSecuritiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestOnConvertibleDebtNetOfTax" xlink:label="us-gaap_InterestOnConvertibleDebtNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="us-gaap_EarningsPerShareBasicAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NumberOfSharesBasicOutstanding" xlink:label="rgen_NumberOfSharesBasicOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" xlink:label="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ReconciliationOfBasicAndDilutedAbstract" xlink:to="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesRestrictedStock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DilutiveSecuritiesAbstract" xlink:to="us-gaap_InterestOnConvertibleDebtNetOfTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="rgen_NumberOfSharesBasicOutstanding" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DilutiveSecuritiesAbstract" xlink:to="us-gaap_NetIncomeLossAttributableToParentDiluted" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:to="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="us-gaap_DilutiveSecuritiesAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="us-gaap_EarningsPerShareBasicAbstract" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FiltrationProductsMember" xlink:label="rgen_FiltrationProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ChromatographyProductsMember" xlink:label="rgen_ChromatographyProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProcessAnalyticsProductsMember" xlink:label="rgen_ProcessAnalyticsProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProteinsProductsMember" xlink:label="rgen_ProteinsProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherProductsMember" xlink:label="rgen_OtherProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_FiltrationProductsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="srt_ProductOrServiceAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_ChromatographyProductsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_ProcessAnalyticsProductsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_ProteinsProductsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_OtherProductsMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SalesRevenuesGoodsNetMember" xlink:label="rgen_SalesRevenuesGoodsNetMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="us-gaap_GeographicConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_APACOtherMember" xlink:label="rgen_APACOtherMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_ConcentrationRiskTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_NorthAmericaMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="rgen_SalesRevenuesGoodsNetMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_GeographicConcentrationRiskMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_EuropeMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="rgen_APACOtherMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="srt_StatementGeographicalAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:label="us-gaap_SegmentReportingAssetReconcilingItemLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_APACMember" xlink:label="rgen_APACMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:to="us-gaap_Assets" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_NorthAmericaMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="srt_StatementGeographicalAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_EuropeMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="us-gaap_SegmentReportingAssetReconcilingItemLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="rgen_APACMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:label="us-gaap_SegmentReportingAssetReconcilingItemLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AssetsNonCurrentExcludingDifferedTaxAssets" xlink:label="rgen_AssetsNonCurrentExcludingDifferedTaxAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_APACMember" xlink:label="rgen_APACMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:to="rgen_AssetsNonCurrentExcludingDifferedTaxAssets" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_NorthAmericaMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="srt_StatementGeographicalAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_EuropeMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="us-gaap_SegmentReportingAssetReconcilingItemLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="rgen_APACMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByBalanceSheetGroupingTable" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentTypeAxis" xlink:label="us-gaap_InvestmentTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="us-gaap_CashAndCashEquivalentsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsMember" xlink:label="us-gaap_CashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashAndMoneyMarketFundsMember" xlink:label="rgen_CashAndMoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" xlink:label="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasuryBillSecuritiesMember" xlink:label="us-gaap_USTreasuryBillSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember" xlink:label="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue" xlink:label="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvailableForSaleSecuritiesEstimatedFairValue" xlink:label="rgen_AvailableForSaleSecuritiesEstimatedFairValue"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_InvestmentTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeCategorizationMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_CashAndCashEquivalentsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="rgen_CashAndMoneyMarketFundsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueByBalanceSheetGroupingTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_CashAndCashEquivalentsAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_USTreasuryBillSecuritiesMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_CashAndCashEquivalentsLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_AvailableForSaleSecuritiesEstimatedFairValue" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost" xlink:label="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByBalanceSheetGroupingTable" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="us-gaap_AssetsFairValueDisclosure"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="us-gaap_MoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShortTermContingentConsideration" xlink:label="rgen_ShortTermContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LongTermContingentConsideration" xlink:label="rgen_LongTermContingentConsideration"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_AssetsFairValueDisclosure" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel1Member" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="us-gaap_MoneyMarketFundsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueByBalanceSheetGroupingTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_CashAndCashEquivalentsAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_ShortTermContingentConsideration" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel3Member" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_LongTermContingentConsideration" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByBalanceSheetGroupingTable" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SubscriptionTransactionMember" xlink:label="rgen_SubscriptionTransactionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleNotesMember" xlink:label="rgen_ConvertibleNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangedAmountCancelled" xlink:label="rgen_DebtInstrumentExchangedAmountCancelled"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangeTransactionMember" xlink:label="rgen_ExchangeTransactionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NotesMember" xlink:label="rgen_NotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangeAmount" xlink:label="rgen_DebtInstrumentExchangeAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentFaceAmountInCash" xlink:label="rgen_DebtInstrumentFaceAmountInCash"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentIssuedForCash" xlink:label="rgen_DebtInstrumentIssuedForCash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" xlink:label="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtFairValue" xlink:label="us-gaap_LongTermDebtFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AdditionalUndiscountedInContingentConsiderationEarnoutPayments" xlink:label="rgen_AdditionalUndiscountedInContingentConsiderationEarnoutPayments"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RevenueAndVolumeProjectionsPerformancePeriod" xlink:label="rgen_RevenueAndVolumeProjectionsPerformancePeriod"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_PrivatePlacementMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueByBalanceSheetGroupingTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_DebtInstrumentAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="rgen_SubscriptionTransactionMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ConvertibleNotesMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DebtInstrumentExchangedAmountCancelled" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="rgen_ExchangeTransactionMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="rgen_SummaryOfSignificantAccountingPoliciesLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_NotesMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DebtInstrumentExchangeAmount" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DebtInstrumentFaceAmountInCash" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DebtInstrumentIssuedForCash" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_LongTermDebt" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_LongTermDebtFairValue" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_AdditionalUndiscountedInContingentConsiderationEarnoutPayments" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_RevenueAndVolumeProjectionsPerformancePeriod" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationMember" xlink:label="rgen_ContingentConsiderationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_4"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="rgen_ContingentConsiderationMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_LiabilitiesFairValueDisclosure" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_LiabilitiesFairValueDisclosure_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationMember" xlink:label="rgen_ContingentConsiderationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="us-gaap_MeasurementInputTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputProbabilityOfSuccessMember" xlink:label="rgen_MeasurementInputProbabilityOfSuccessMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationTechniqueDomain" xlink:label="us-gaap_ValuationTechniqueDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MonteCarloSimulationMember" xlink:label="rgen_MonteCarloSimulationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="us-gaap_MeasurementInputTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideAndFlexbiosysMember" xlink:label="rgen_AvitideAndFlexbiosysMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RDAndCommercializationBasedPaymentsMember" xlink:label="rgen_RDAndCommercializationBasedPaymentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationTechniqueAxis" xlink:label="us-gaap_ValuationTechniqueAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputEarnoutDiscountRateMember" xlink:label="rgen_MeasurementInputEarnoutDiscountRateMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProbabilityWeightedPresentValueMember" xlink:label="rgen_ProbabilityWeightedPresentValueMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProbabilityOfSuccess" xlink:label="rgen_ProbabilityOfSuccess"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RevenueAndVolumeBasedPaymentsMember" xlink:label="rgen_RevenueAndVolumeBasedPaymentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputPriceVolatilityMember" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_WeightedAverageDiscountRate" xlink:label="rgen_WeightedAverageDiscountRate"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ManufacturingLineExpansionsMember" xlink:label="rgen_ManufacturingLineExpansionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputRevenueVolumeDiscountRateMember" xlink:label="rgen_MeasurementInputRevenueVolumeDiscountRateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeFixedInterestRate" xlink:label="us-gaap_DerivativeFixedInterestRate"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_VolatilityRateOfContingentConsideration" xlink:label="rgen_VolatilityRateOfContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RevenueAndVolumeDiscountRate" xlink:label="rgen_RevenueAndVolumeDiscountRate"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="rgen_ContingentConsiderationMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="rgen_MeasurementInputProbabilityOfSuccessMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationTechniqueDomain" xlink:to="rgen_MonteCarloSimulationMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_LiabilitiesFairValueDisclosure" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideAndFlexbiosysMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="rgen_RDAndCommercializationBasedPaymentsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationTechniqueAxis" xlink:to="us-gaap_ValuationTechniqueDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementsRecurringMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="rgen_MeasurementInputEarnoutDiscountRateMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationTechniqueDomain" xlink:to="rgen_ProbabilityWeightedPresentValueMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_ProbabilityOfSuccess" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_ValuationTechniqueAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="rgen_RevenueAndVolumeBasedPaymentsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="us-gaap_MeasurementInputPriceVolatilityMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_WeightedAverageDiscountRate" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="rgen_ManufacturingLineExpansionsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="rgen_MeasurementInputRevenueVolumeDiscountRateMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_DerivativeFixedInterestRate" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="srt_RangeAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_VolatilityRateOfContingentConsideration" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_IncomeStatementLocationAxis" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_RevenueAndVolumeDiscountRate" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_MeasurementInputTypeAxis" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrustForBenefitOfEmployeesMember" xlink:label="us-gaap_TrustForBenefitOfEmployeesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalUnitsMember" xlink:label="us-gaap_CapitalUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" xlink:label="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillMember" xlink:label="us-gaap_GoodwillMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonrecurringAdjustmentAxis" xlink:label="us-gaap_NonrecurringAdjustmentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonrecurringAdjustmentDomain" xlink:label="us-gaap_NonrecurringAdjustmentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationByTypeAxis" xlink:label="us-gaap_ContingentConsiderationByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="us-gaap_ContingentConsiderationTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh" xlink:label="us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessAcquisitionWorkingCapitalAdjustments" xlink:label="rgen_BusinessAcquisitionWorkingCapitalAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:label="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:label="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationExpense" xlink:label="rgen_ContingentConsiderationExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xlink:label="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationAdditionalCashForTransactionBonus" xlink:label="rgen_BusinessCombinationAdditionalCashForTransactionBonus"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationTransactionCostPaidDuringPeriod" xlink:label="rgen_BusinessCombinationTransactionCostPaidDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationsCashDepositedInEscrowAccount" xlink:label="rgen_BusinessCombinationsCashDepositedInEscrowAccount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationConsiderationIndemnificationEscrow" xlink:label="rgen_BusinessCombinationConsiderationIndemnificationEscrow"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" xlink:label="us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="srt_RangeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="us-gaap_TrustForBenefitOfEmployeesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CapitalUnitsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="us-gaap_GoodwillMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonrecurringAdjustmentAxis" xlink:to="us-gaap_NonrecurringAdjustmentDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContingentConsiderationByTypeAxis" xlink:to="us-gaap_ContingentConsiderationTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexAndNtmAcquisitionMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_IncomeStatementLocationAxis" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_PolymemSAMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_ContingentConsiderationByTypeAxis" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_FairValueByAssetClassAxis" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessAcquisitionWorkingCapitalAdjustments" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_NonrecurringAdjustmentAxis" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="srt_TitleOfIndividualAxis" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionLineItems" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_Goodwill" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_ContingentConsiderationExpense" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" order="18" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationAdditionalCashForTransactionBonus" order="19" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationTransactionCostPaidDuringPeriod" order="20" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationsCashDepositedInEscrowAccount" order="21" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" order="22" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationConsiderationIndemnificationEscrow" order="23" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" order="24" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" order="25" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" order="26" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="27" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashConsiderationExcludingRestrictedCash" xlink:label="rgen_CashConsiderationExcludingRestrictedCash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xlink:label="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_CashConsiderationExcludingRestrictedCash" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NetWorkingCapitalExcludingCashAndInventory" xlink:label="rgen_NetWorkingCapitalExcludingCashAndInventory"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksAndTradeNamesMember" xlink:label="us-gaap_TrademarksAndTradeNamesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_NetWorkingCapitalExcludingCashAndInventory" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TrademarksAndTradeNamesMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexAndNtmAcquisitionMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_PolymemSAMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesMember" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_Goodwill" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexAndNtmAcquisitionMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_PolymemSAMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveLineItems" xlink:label="us-gaap_RestructuringCostAndReserveLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:label="us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashInventoryAdjustments" xlink:label="rgen_NoncashInventoryAdjustments"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCosts" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="srt_RangeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCharges" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_RestructuringCostAndReserveLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="rgen_NoncashInventoryAdjustments" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveLineItems" xlink:label="us-gaap_RestructuringCostAndReserveLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveAxis" xlink:label="us-gaap_RestructuringCostAndReserveAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:label="us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeSeveranceMember" xlink:label="us-gaap_EmployeeSeveranceMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_InventoryAdjustmentsMember" xlink:label="rgen_InventoryAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcceleratedDepreciationMember" xlink:label="rgen_AcceleratedDepreciationMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityAndOtherExitCostsMember" xlink:label="rgen_FacilityAndOtherExitCostsMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCosts" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_TypeOfRestructuringDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_IncomeStatementLocationAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="us-gaap_EmployeeSeveranceMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_RestructuringCostAndReserveAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_InventoryAdjustmentsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_RestructuringCostAndReserveLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_AcceleratedDepreciationMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_FacilityAndOtherExitCostsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveLineItems" xlink:label="us-gaap_RestructuringCostAndReserveLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveAxis" xlink:label="us-gaap_RestructuringCostAndReserveAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:label="us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeSeveranceMember" xlink:label="us-gaap_EmployeeSeveranceMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRestructuring" xlink:label="us-gaap_PaymentsForRestructuring"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_InventoryAdjustmentsMember" xlink:label="rgen_InventoryAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringReserveSettledWithoutCash2" xlink:label="us-gaap_RestructuringReserveSettledWithoutCash2"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcceleratedDepreciationMember" xlink:label="rgen_AcceleratedDepreciationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringReserve" xlink:label="us-gaap_RestructuringReserve"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityExitAndOtherExitCostsMember" xlink:label="rgen_FacilityExitAndOtherExitCostsMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCosts" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_TypeOfRestructuringDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_RestructuringCostAndReserveAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="us-gaap_EmployeeSeveranceMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_PaymentsForRestructuring" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_RestructuringCostAndReserveLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_InventoryAdjustmentsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringReserveSettledWithoutCash2" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_AcceleratedDepreciationMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringReserve" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_FacilityExitAndOtherExitCostsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" xlink:label="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AreaOfLand" xlink:label="us-gaap_AreaOfLand"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreaseDecreaseInOperatingLeaseAsset" xlink:label="rgen_IncreaseDecreaseInOperatingLeaseAsset"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiability" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_IncreaseDecreaseInOperatingLeaseLiabilities" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_AreaOfLand" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_IncreaseDecreaseInOperatingLeaseAsset" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LeaseIncentives" xlink:label="rgen_LeaseIncentives"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_LeaseIncentives" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiability" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasedAssetsLineItems" xlink:label="us-gaap_OperatingLeasedAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LeaseObligationsNotYetCommenced" xlink:label="rgen_LeaseObligationsNotYetCommenced"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" xlink:label="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="srt_RangeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="rgen_LeaseObligationsNotYetCommenced" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeLeaseDescriptionTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="us-gaap_OperatingLeasedAssetsLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" xlink:label="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiability" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_VariableOperatingLeaseCost" xlink:label="rgen_VariableOperatingLeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseCost" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="rgen_VariableOperatingLeaseCost" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeaseCost" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeasePayments" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RoyaltyMember" xlink:label="us-gaap_RoyaltyMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ProductOrServiceAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_RoyaltyMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="us-gaap_DisaggregationOfRevenueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PfizerMember" xlink:label="rgen_PfizerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MilliporeSigmaMember" xlink:label="rgen_MilliporeSigmaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_MajorCustomersAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_PfizerMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_MilliporeSigmaMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_RangeAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueLineItems" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss" xlink:label="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xlink:label="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenue" xlink:label="us-gaap_DeferredRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiability" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_DeferredRevenue" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditLossAbstract" xlink:label="us-gaap_CreditLossAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditLossAbstract" xlink:label="us-gaap_CreditLossAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_3"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditLossAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable_3" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodEndLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SpectrumIncMember" xlink:label="rgen_SpectrumIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillPurchaseAccountingAdjustments" xlink:label="us-gaap_GoodwillPurchaseAccountingAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexMember" xlink:label="rgen_BioflexMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_4"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NewtonNewJerseyMember" xlink:label="rgen_NewtonNewJerseyMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_Goodwill" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfGoodwillTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_SpectrumIncMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillPurchaseAccountingAdjustments" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="us-gaap_GoodwillLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_Goodwill_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NewtonNewJerseyMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IntangibleAssetsLineItems" xlink:label="rgen_IntangibleAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIntangibleAssetsTable" xlink:label="rgen_ScheduleOfIntangibleAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember" xlink:label="us-gaap_TrademarksMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DaylightSolutionsIncMember" xlink:label="rgen_DaylightSolutionsIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="us-gaap_OtherIntangibleAssetsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IndefiniteLivedIntangibleAssetsNet" xlink:label="rgen_IndefiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TrademarksMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="rgen_ScheduleOfIntangibleAssetsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="rgen_DaylightSolutionsIncMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="srt_CounterpartyNameAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_PatentsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_IntangibleAssetsGrossExcludingGoodwill" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="rgen_IntangibleAssetsLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_OtherIntangibleAssetsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="rgen_IndefiniteLivedIntangibleAssetsNet" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsDetailParenthetical" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIntangibleAssetsTable" xlink:label="rgen_ScheduleOfIntangibleAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DaylightSolutionsIncMember" xlink:label="rgen_DaylightSolutionsIncMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="srt_CounterpartyNameAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="rgen_ScheduleOfIntangibleAssetsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="rgen_DaylightSolutionsIncMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="rgen_FiniteLivedIntangibleLiabilitiesLineItems" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="rgen_FiniteLivedIntangibleLiabilitiesLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryCurrentTable" xlink:label="us-gaap_InventoryCurrentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLineItems" xlink:label="us-gaap_InventoryLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryCurrentTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryCurrentTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryCurrentTable" xlink:to="us-gaap_InventoryLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryNet" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidServicesAndProfessionalFees" xlink:label="rgen_PrepaidServicesAndProfessionalFees"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UncategorizedAbstract" xlink:label="rgen_UncategorizedAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes" xlink:label="us-gaap_PrepaidTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidInsurance" xlink:label="us-gaap_PrepaidInsurance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="rgen_PrepaidServicesAndProfessionalFees" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_UncategorizedAbstract" xlink:to="rgen_PrepaidExpensesAndOtherCurrentAssetsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:to="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="us-gaap_PrepaidTaxes" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="us-gaap_PrepaidInsurance" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="us-gaap_OtherAssetsCurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Land" xlink:label="us-gaap_Land"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingsAndImprovementsGross" xlink:label="us-gaap_BuildingsAndImprovementsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsGross" xlink:label="us-gaap_LeaseholdImprovementsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentGross" xlink:label="us-gaap_MachineryAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesGross" xlink:label="us-gaap_FurnitureAndFixturesGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedComputerSoftwareGross" xlink:label="us-gaap_CapitalizedComputerSoftwareGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentOther" xlink:label="us-gaap_PropertyPlantAndEquipmentOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_Land" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_BuildingsAndImprovementsGross" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_LeaseholdImprovementsGross" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_MachineryAndEquipmentGross" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_FurnitureAndFixturesGross" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_CapitalizedComputerSoftwareGross" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ConstructionInProgressGross" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentOther" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RgenFacilityAxis" xlink:label="rgen_RgenFacilityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RgenFacilityDomain" xlink:label="rgen_RgenFacilityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityAxis" xlink:label="rgen_FacilityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityDomain" xlink:label="rgen_FacilityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Depreciation" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_RgenFacilityAxis" xlink:to="rgen_RgenFacilityDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_FacilityAxis" xlink:to="rgen_FacilityDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="rgen_FacilityAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="rgen_RgenFacilityAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:label="rgen_ScheduleOfAccruedLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfAccruedLiabilitiesTable" xlink:label="rgen_ScheduleOfAccruedLiabilitiesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="us-gaap_DeferredRevenueCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="rgen_ScheduleOfAccruedLiabilitiesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfAccruedLiabilitiesTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_DeferredRevenueCurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfAccruedLiabilitiesTable" xlink:to="rgen_ScheduleOfAccruedLiabilitiesLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_AccruedLiabilitiesCurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="rgen_ScheduleOfIncomeBeforeIncomeTaxTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:to="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesLineItems" xlink:label="rgen_IncomeTaxesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesTable" xlink:label="rgen_IncomeTaxesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xlink:label="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" xlink:label="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="rgen_IncomeTaxesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="rgen_IncomeTaxesLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesLineItems" xlink:label="rgen_IncomeTaxesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesTable" xlink:label="rgen_IncomeTaxesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="rgen_IncomeTaxesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="rgen_IncomeTaxesLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesLineItems" xlink:label="rgen_IncomeTaxesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesTable" xlink:label="rgen_IncomeTaxesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LatestTaxYearMember" xlink:label="us-gaap_LatestTaxYearMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMember" xlink:label="us-gaap_OtherAssetsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="us-gaap_TaxCreditCarryforwardAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="us-gaap_StateAndLocalJurisdictionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2040Member" xlink:label="rgen_TaxYear2040Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiablitiesMember" xlink:label="rgen_DeferredTaxLiablitiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherInformationPertainingToIncomeTaxes" xlink:label="us-gaap_OtherInformationPertainingToIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FederalAndStateMember" xlink:label="rgen_FederalAndStateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2041Member" xlink:label="rgen_TaxYear2041Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AccumulatedDeficitMember" xlink:label="rgen_AccumulatedDeficitMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_InflationReductionActOfTwoThousandTwentyTwoMember" xlink:label="rgen_InflationReductionActOfTwoThousandTwentyTwoMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2043Member" xlink:label="rgen_TaxYear2043Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYearTwoThousandThirtySevenMember" xlink:label="rgen_TaxYearTwoThousandThirtySevenMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnlimitedCarryforwardPeriodMember" xlink:label="rgen_UnlimitedCarryforwardPeriodMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfCurrentFederalTaxExpenseBenefit" xlink:label="rgen_PercentageOfCurrentFederalTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentOfExciseTaxOnNetStockRepurchases" xlink:label="rgen_PercentOfExciseTaxOnNetStockRepurchases"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ForeignEarningsSubjectToOneTimeTransitionTax" xlink:label="rgen_ForeignEarningsSubjectToOneTimeTransitionTax"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" xlink:label="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_OperatingLossCarryforwards" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_DomesticCountryMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="us-gaap_LatestTaxYearMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_OtherAssetsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="rgen_IncomeTaxesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_TaxCreditCarryforwardAmount" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="srt_StatementGeographicalAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_StateAndLocalJurisdictionMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_TaxYear2040Member" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="rgen_DeferredTaxLiablitiesMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_OtherInformationPertainingToIncomeTaxes" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="rgen_FederalAndStateMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_TaxYear2041Member" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="rgen_AccumulatedDeficitMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="rgen_InflationReductionActOfTwoThousandTwentyTwoMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_TaxYear2043Member" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="us-gaap_TaxPeriodAxis" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_TaxYearTwoThousandThirtySevenMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="us-gaap_BalanceSheetLocationAxis" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_UnlimitedCarryforwardPeriodMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesTable" xlink:to="rgen_IncomeTaxesLineItems" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_PercentageOfCurrentFederalTaxExpenseBenefit" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_PercentOfExciseTaxOnNetStockRepurchases" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_ForeignEarningsSubjectToOneTimeTransitionTax" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xlink:label="rgen_DeferredIncomeTaxLiabilitiesFixedAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxAssetsOperatingLeases" xlink:label="rgen_DeferredTaxAssetsOperatingLeases"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:label="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesDebtDiscount" xlink:label="rgen_DeferredTaxLiabilitiesDebtDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xlink:label="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="rgen_DeferredIncomeTaxLiabilitiesFixedAssets" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:to="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="rgen_DeferredTaxAssetsOperatingLeases" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="rgen_DeferredTaxLiabilitiesDebtDiscount" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsInventory" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilities" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsGross" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNet" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxRateReconciliationLineItems" xlink:label="rgen_IncomeTaxRateReconciliationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxRateReconciliationTable" xlink:label="rgen_IncomeTaxRateReconciliationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationTaxCredits" xlink:label="us-gaap_IncomeTaxReconciliationTaxCredits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" xlink:label="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationTaxContingencies" xlink:label="us-gaap_IncomeTaxReconciliationTaxContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" xlink:label="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:to="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="rgen_IncomeTaxRateReconciliationTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:to="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationTable" xlink:to="rgen_IncomeTaxRateReconciliationLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:to="us-gaap_IncomeTaxReconciliationTaxCredits" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationTaxContingencies" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationOtherReconcilingItems" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" order="18" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" order="19" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" order="20" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" order="21" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" order="22" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" order="23" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" order="24" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" order="25" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" order="26" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" order="27" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" order="28" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="29" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" order="30" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExaminationTable" xlink:label="us-gaap_IncomeTaxExaminationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarliestTaxYearMember" xlink:label="us-gaap_EarliestTaxYearMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExaminationLineItems" xlink:label="us-gaap_IncomeTaxExaminationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OpenTaxYear" xlink:label="us-gaap_OpenTaxYear"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_SE" xlink:label="country_SE"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LatestTaxYearMember" xlink:label="us-gaap_LatestTaxYearMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExaminationTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="us-gaap_EarliestTaxYearMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExaminationLineItems" xlink:to="us-gaap_OpenTaxYear" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxExaminationTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_SE" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExaminationTable" xlink:to="srt_StatementGeographicalAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="us-gaap_LatestTaxYearMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExaminationTable" xlink:to="us-gaap_TaxPeriodAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExaminationTable" xlink:to="us-gaap_IncomeTaxExaminationLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" xlink:label="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits_4"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:to="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnderwriterMember" xlink:label="rgen_UnderwriterMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockOptionAndIncentivePlanMember" xlink:label="rgen_StockOptionAndIncentivePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideLlcMember" xlink:label="rgen_AvitideLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockholdersEquityNoteDisclosureTable" xlink:label="rgen_StockholdersEquityNoteDisclosureTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockholdersEquityNoteDisclosureLineItems" xlink:label="rgen_StockholdersEquityNoteDisclosureLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonExecutiveMember" xlink:label="rgen_NonExecutiveMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EarnoutConsiderationEarned" xlink:label="rgen_EarnoutConsiderationEarned"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CommonStockIssuePricePerShare" xlink:label="rgen_CommonStockIssuePricePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OptionToPurchaseCommonStockMember" xlink:label="rgen_OptionToPurchaseCommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnvestedOptionsMember" xlink:label="rgen_UnvestedOptionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RestrictedStockAndPerformanceStockUnitsMember" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonEmployeeDirectorStockOptionMember" xlink:label="rgen_NonEmployeeDirectorStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" xlink:label="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="rgen_UnderwriterMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingDomain" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheOneMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain" xlink:to="rgen_StockOptionAndIncentivePlanMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideLlcMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="rgen_StockholdersEquityNoteDisclosureTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_DebtInstrumentAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_CommonStockSharesIssued" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="rgen_NonExecutiveMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingDomain" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="srt_TitleOfIndividualAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="rgen_EarnoutConsiderationEarned" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_AwardTypeAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="rgen_CommonStockIssuePricePerShare" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" order="4.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="srt_RangeAxis" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_OptionToPurchaseCommonStockMember" order="5.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_VestingAxis" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" order="6.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_PlanNameAxis" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensation" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_UnvestedOptionsMember" order="7.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_RestrictedStockAndPerformanceStockUnitsMember" order="8.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="rgen_StockholdersEquityNoteDisclosureLineItems" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_NonEmployeeDirectorStockOptionMember" order="9.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="rgen_PercentageOfSharesSubjectToForfeiture" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_SharePrice" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" order="18" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" order="19" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" order="20" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" order="21" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_StockRepurchaseProgramAuthorizedAmount1" order="22" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" order="23" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="24" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" order="25" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" order="26" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_ShareBasedCompensation" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_IncomeStatementLocationAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_RangeAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_4"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_4"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonExecutiveMember" xlink:label="rgen_NonExecutiveMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="rgen_NonExecutiveMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgen_PercentageOfSharesSubjectToForfeiture" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="dei_LegalEntityAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_TitleOfIndividualAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" order="4.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_4"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" order="4.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonExecutiveMember" xlink:label="rgen_NonExecutiveMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RestrictedStockAndPerformanceStockUnitsMember" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="rgen_NonExecutiveMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgen_PercentageOfSharesSubjectToForfeiture" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="dei_LegalEntityAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_TitleOfIndividualAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_RestrictedStockAndPerformanceStockUnitsMember" order="4.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CommitmentsAndContingenciesTable" xlink:label="rgen_CommitmentsAndContingenciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NGLImpactAMember" xlink:label="rgen_NGLImpactAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:label="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementMember" xlink:label="us-gaap_ResearchAndDevelopmentArrangementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:label="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CommitmentsAndContingenciesLineItems" xlink:label="rgen_CommitmentsAndContingenciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RoyaltyExpense" xlink:label="us-gaap_RoyaltyExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:label="us-gaap_ContractualObligationDueInNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CapacityOfBioreactors" xlink:label="rgen_CapacityOfBioreactors"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="rgen_CommitmentsAndContingenciesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_NGLImpactAMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_CommitmentsAndContingenciesTable" xlink:to="srt_ProductOrServiceAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:to="us-gaap_ResearchAndDevelopmentArrangementMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:to="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_CommitmentsAndContingenciesLineItems" xlink:to="us-gaap_RoyaltyExpense" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_CommitmentsAndContingenciesTable" xlink:to="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_CommitmentsAndContingenciesLineItems" xlink:to="us-gaap_ContractualObligationDueInNextTwelveMonths" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_CommitmentsAndContingenciesTable" xlink:to="srt_RangeAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_CommitmentsAndContingenciesLineItems" xlink:to="rgen_CapacityOfBioreactors" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="rgen_CommitmentsAndContingenciesTable" xlink:to="rgen_CommitmentsAndContingenciesLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtNoncurrent" xlink:label="us-gaap_ConvertibleDebtNoncurrent"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ConvertibleNotesPayableCurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ConvertibleDebtNoncurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangeAndSubscriptionAgreementsMember" xlink:label="rgen_ExchangeAndSubscriptionAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangedTwoZeroOneNineNotesMember" xlink:label="rgen_ExchangedTwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangedAmount" xlink:label="rgen_DebtInstrumentExchangedAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FairValueOfEmbeddedConversionOptionMember" xlink:label="rgen_FairValueOfEmbeddedConversionOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ModifiedTwoZeroOneNineNotesMember" xlink:label="rgen_ModifiedTwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangedAmountCancelled" xlink:label="rgen_DebtInstrumentExchangedAmountCancelled"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SubscriptionTransactionsMember" xlink:label="rgen_SubscriptionTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentIssuedForCash" xlink:label="rgen_DebtInstrumentIssuedForCash"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TwoZeroTwoThreeNotesMember" xlink:label="rgen_TwoZeroTwoThreeNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ModificationOfDebt" xlink:label="rgen_ModificationOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OutstandingTwoZeroTwoThreeNotesMember" xlink:label="rgen_OutstandingTwoZeroTwoThreeNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangeTransactionMember" xlink:label="rgen_ExchangeTransactionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TwoZeroOneNineNotesMember" xlink:label="rgen_TwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateTerms" xlink:label="us-gaap_DebtInstrumentInterestRateTerms"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentConvertibleIntoEquity" xlink:label="rgen_DebtInstrumentConvertibleIntoEquity"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentConvertibleIntoEquitySettled" xlink:label="rgen_DebtInstrumentConvertibleIntoEquitySettled"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:label="us-gaap_DebtInstrumentInterestRateDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentAccruedAndUnpaidInterest" xlink:label="rgen_DebtInstrumentAccruedAndUnpaidInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfDebtIssuanceCost" xlink:label="rgen_AmortizationOfDebtIssuanceCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtFairValue" xlink:label="us-gaap_LongTermDebtFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OptionToPurchaseAdditionalDebtFaceAmount" xlink:label="rgen_OptionToPurchaseAdditionalDebtFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DiscountRate" xlink:label="rgen_DiscountRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" xlink:label="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" xlink:label="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleNotesTransactionCostsOfEquityComponent" xlink:label="rgen_ConvertibleNotesTransactionCostsOfEquityComponent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarlyRepaymentOfSeniorDebt" xlink:label="us-gaap_EarlyRepaymentOfSeniorDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentIncreaseAccruedInterest" xlink:label="us-gaap_DebtInstrumentIncreaseAccruedInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:label="us-gaap_DebtConversionConvertedInstrumentAmount1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentFaceAmountRemaining" xlink:label="rgen_DebtInstrumentFaceAmountRemaining"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" xlink:label="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt_48"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LossOnDebtConversion" xlink:label="rgen_LossOnDebtConversion"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="srt_RangeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_ExchangeAndSubscriptionAgreementsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_ShortTermDebtTypeAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_ExchangedTwoZeroOneNineNotesMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentExchangedAmount" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="rgen_FairValueOfEmbeddedConversionOptionMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_ModifiedTwoZeroOneNineNotesMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentExchangedAmountCancelled" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_SubscriptionTransactionsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentIssuedForCash" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_SubsequentEventTypeAxis" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_TwoZeroTwoThreeNotesMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_ModificationOfDebt" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_OutstandingTwoZeroTwoThreeNotesMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentLineItems" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_ExchangeTransactionMember" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ProceedsFromConvertibleDebt" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_TwoZeroOneNineNotesMember" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateTerms" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentMaturityDate" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentConvertibleIntoEquity" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentConvertibleIntoEquitySettled" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleConversionRatio1" order="18" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1" order="19" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateDuringPeriod" order="20" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_SharePrice" order="21" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentage" order="22" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentAccruedAndUnpaidInterest" order="23" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization" order="24" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AmortizationOfDebtDiscountPremium" order="25" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AmortizationOfFinancingCosts" order="26" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_AmortizationOfDebtIssuanceCost" order="27" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage" order="28" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebt" order="29" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" order="30" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebtFairValue" order="31" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_OptionToPurchaseAdditionalDebtFaceAmount" order="32" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DiscountRate" order="33" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="34" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" order="35" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" order="36" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_ConvertibleNotesTransactionCostsOfEquityComponent" order="37" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredTaxLiabilities" order="38" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" order="39" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LiabilitiesCurrent" order="40" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_EarlyRepaymentOfSeniorDebt" order="41" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentIncreaseAccruedInterest" order="42" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" order="43" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" order="44" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtConversionConvertedInstrumentAmount1" order="45" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentFaceAmountRemaining" order="46" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" order="47" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt_48" order="48" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_LossOnDebtConversion" order="49" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_2"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_StockholdersEquity" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_StockholdersEquity_2" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:label="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionPlansDefinedBenefitMember" xlink:label="us-gaap_PensionPlansDefinedBenefitMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DefinedContribution401KPlanMember" xlink:label="rgen_DefinedContribution401KPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanSponsorLocationDomain" xlink:label="us-gaap_RetirementPlanSponsorLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignPlanMember" xlink:label="us-gaap_ForeignPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DefinedContributionPlanEmployeeEligibilityAge" xlink:label="rgen_DefinedContributionPlanEmployeeEligibilityAge"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanSponsorLocationAxis" xlink:label="us-gaap_RetirementPlanSponsorLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:label="us-gaap_DefinedBenefitPlanContributionsByEmployer"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:to="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanTypeDomain" xlink:to="us-gaap_PensionPlansDefinedBenefitMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:to="rgen_DefinedContribution401KPlanMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanSponsorLocationDomain" xlink:to="us-gaap_ForeignPlanMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="rgen_DefinedContributionPlanEmployeeEligibilityAge" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanSponsorLocationAxis" xlink:to="us-gaap_RetirementPlanSponsorLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_DefinedBenefitPlanContributionsByEmployer" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="srt_RangeAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="us-gaap_RetirementPlanTypeAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="us-gaap_RetirementPlanSponsorLocationAxis" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrincipalOwnerMember" xlink:label="us-gaap_PrincipalOwnerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SpectrumIncMember" xlink:label="rgen_SpectrumIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfessionalFees" xlink:label="us-gaap_ProfessionalFees"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaid" xlink:label="us-gaap_IncomeTaxesPaid"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_PrincipalOwnerMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipDomain" xlink:to="rgen_SpectrumIncMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="dei_LegalEntityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_ProfessionalFees" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="rgen_CTechnologiesMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="srt_TitleOfIndividualAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_TaxesPayableCurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_IncomeTaxesPaid" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="srt_RangeAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="srt_OwnershipAxis" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_RelatedPartyTransactionLineItems" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesAuthorized" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesIssued" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesOutstanding" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesAbstract" xlink:label="us-gaap_RevenuesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="us-gaap_CostsAndExpensesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RoyaltyMember" xlink:label="us-gaap_RoyaltyMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfDebtIssuanceCost" xlink:label="rgen_AmortizationOfDebtIssuanceCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenuesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RevenuesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InvestmentIncomeNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSold" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_RoyaltyMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostsAndExpensesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="rgen_AmortizationOfDebtIssuanceCost" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostsAndExpenses" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TrueUpCostsDecember2020Member" xlink:label="rgen_TrueUpCostsDecember2020Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingStandardsUpdate202006Member" xlink:label="us-gaap_AccountingStandardsUpdate202006Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" xlink:label="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" xlink:label="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxImpactOnConversionFeature" xlink:label="rgen_DeferredTaxImpactOnConversionFeature"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_TrueUpCostsDecember2020Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate202006Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="14" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="15" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="16" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="17" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="18" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="19" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_DeferredTaxImpactOnConversionFeature" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="20" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfInventoryStepUp" xlink:label="rgen_AmortizationOfInventoryStepUp"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesIncMember" xlink:label="rgen_CTechnologiesIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:label="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:label="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssued1" xlink:label="us-gaap_StockIssued1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireSoftware" xlink:label="us-gaap_PaymentsToAcquireSoftware"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" xlink:label="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:label="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" xlink:label="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesIssued1" xlink:label="us-gaap_NotesIssued1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ExtinguishmentOfDebtAmount" xlink:label="us-gaap_ExtinguishmentOfDebtAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashInterestIncome" xlink:label="rgen_NoncashInterestIncome"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_IncomeTaxesPaidNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="rgen_AmortizationOfInventoryStepUp" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireHeldToMaturitySecurities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_InterestPaidNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationAndAmortization" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromConvertibleDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_StockIssued1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfDebtDiscountPremium" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireSoftware" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_NotesIssued1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_ExtinguishmentOfDebtAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="rgen_NoncashInterestIncome" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsForProceedsFromOtherInvestingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_OtherNoncashIncomeExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SupplementalCashFlowElementsAbstract" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/IndividualsOnly">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember" xlink:label="ecd_AllIndividualsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TonyJHuntMember" xlink:label="rgen_TonyJHuntMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherDirectorsOrOfficersMember" xlink:label="rgen_OtherDirectorsOrOfficersMember"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ecd_AllIndividualsMember" xlink:to="rgen_TonyJHuntMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ecd_AllIndividualsMember" xlink:to="rgen_OtherDirectorsOrOfficersMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NatureOfOperations" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ComprehensiveIncomeNoteTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:label="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SalesRevenuesGoodsNetMember" xlink:label="rgen_SalesRevenuesGoodsNetMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" xlink:label="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAccountsReceivableMember" xlink:label="us-gaap_TradeAccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" xlink:label="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="rgen_SalesRevenuesGoodsNetMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_TradeAccountsReceivableMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" xlink:label="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexAndNtmAcquisitionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_PolymemSAMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" xlink:label="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" xlink:label="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:label="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OptionToPurchaseCommonStockMember" xlink:label="rgen_OptionToPurchaseCommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PfizerMember" xlink:label="rgen_PfizerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingStandardsUpdate202006Member" xlink:label="us-gaap_AccountingStandardsUpdate202006Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonExecutiveMember" xlink:label="rgen_NonExecutiveMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CustomerNumberOneMember" xlink:label="rgen_CustomerNumberOneMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RestrictedStockAndPerformanceStockUnitsMember" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PuroliteMember" xlink:label="rgen_PuroliteMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonEmployeeDirectorStockOptionMember" xlink:label="rgen_NonEmployeeDirectorStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestOnConvertibleDebtNetOfTax" xlink:label="us-gaap_InterestOnConvertibleDebtNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveEffectOnSharesOfConversionPremium" xlink:label="rgen_DilutiveEffectOnSharesOfConversionPremium"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense" xlink:label="us-gaap_AdvertisingExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationObligationEstimated" xlink:label="rgen_ContingentConsiderationObligationEstimated"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportingUnits" xlink:label="us-gaap_NumberOfReportingUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReasonForChangeInDateOfAnnualGoodwillImpairmentTest" xlink:label="us-gaap_ReasonForChangeInDateOfAnnualGoodwillImpairmentTest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewDateOfAnnualGoodwillImpairmentTest" xlink:label="us-gaap_NewDateOfAnnualGoodwillImpairmentTest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_SummaryOfSignificantAccountingPoliciesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_OptionToPurchaseCommonStockMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_PfizerMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_MajorCustomersAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate202006Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="rgen_NonExecutiveMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_CustomerNumberOneMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_AwardTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_RestrictedStockAndPerformanceStockUnitsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_PuroliteMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_NonEmployeeDirectorStockOptionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_InterestOnConvertibleDebtNetOfTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_TitleOfIndividualAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_DebtInstrumentAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DilutiveEffectOnSharesOfConversionPremium" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_PercentageOfSharesSubjectToForfeiture" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_AdvertisingExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_ContingentConsiderationObligationEstimated" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_NumberOfReportingUnits" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ReasonForChangeInDateOfAnnualGoodwillImpairmentTest" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="14" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_NewDateOfAnnualGoodwillImpairmentTest" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="15" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_GoodwillImpairmentLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="16" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_AssetImpairmentCharges" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="17" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="18" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_Cash" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="19" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_NumberOfOperatingSegments" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquipmentMember" xlink:label="us-gaap_EquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" xlink:label="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ComputerHardwareAndSoftwareMemberMember" xlink:label="rgen_ComputerHardwareAndSoftwareMemberMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_EquipmentMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="rgen_ComputerHardwareAndSoftwareMemberMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_VehiclesMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:label="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:label="us-gaap_WeightedAverageNumberOfSharesRestrictedStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DilutiveSecuritiesAbstract" xlink:label="us-gaap_DilutiveSecuritiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestOnConvertibleDebtNetOfTax" xlink:label="us-gaap_InterestOnConvertibleDebtNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="us-gaap_EarningsPerShareBasicAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NumberOfSharesBasicOutstanding" xlink:label="rgen_NumberOfSharesBasicOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" xlink:label="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesRestrictedStock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DilutiveSecuritiesAbstract" xlink:to="us-gaap_InterestOnConvertibleDebtNetOfTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="rgen_NumberOfSharesBasicOutstanding" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:to="us-gaap_NetIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DilutiveSecuritiesAbstract" xlink:to="us-gaap_NetIncomeLossAttributableToParentDiluted" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="us-gaap_DilutiveSecuritiesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="us-gaap_EarningsPerShareBasicAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FiltrationProductsMember" xlink:label="rgen_FiltrationProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ChromatographyProductsMember" xlink:label="rgen_ChromatographyProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProcessAnalyticsProductsMember" xlink:label="rgen_ProcessAnalyticsProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProteinsProductsMember" xlink:label="rgen_ProteinsProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OtherProductsMember" xlink:label="rgen_OtherProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_FiltrationProductsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="srt_ProductOrServiceAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_ChromatographyProductsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_ProcessAnalyticsProductsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_ProteinsProductsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_OtherProductsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SalesRevenuesGoodsNetMember" xlink:label="rgen_SalesRevenuesGoodsNetMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="us-gaap_GeographicConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_APACOtherMember" xlink:label="rgen_APACOtherMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_NorthAmericaMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="rgen_SalesRevenuesGoodsNetMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_GeographicConcentrationRiskMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_EuropeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="rgen_APACOtherMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="srt_StatementGeographicalAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:label="us-gaap_SegmentReportingAssetReconcilingItemLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_APACMember" xlink:label="rgen_APACMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:to="us-gaap_Assets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_NorthAmericaMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="srt_StatementGeographicalAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_EuropeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="rgen_APACMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:label="us-gaap_SegmentReportingAssetReconcilingItemLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AssetsNonCurrentExcludingDifferedTaxAssets" xlink:label="rgen_AssetsNonCurrentExcludingDifferedTaxAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_APACMember" xlink:label="rgen_APACMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:to="rgen_AssetsNonCurrentExcludingDifferedTaxAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_NorthAmericaMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="srt_StatementGeographicalAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_EuropeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="rgen_APACMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="us-gaap_CashAndCashEquivalentsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByBalanceSheetGroupingTable" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentTypeAxis" xlink:label="us-gaap_InvestmentTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsMember" xlink:label="us-gaap_CashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_default"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashAndMoneyMarketFundsMember" xlink:label="rgen_CashAndMoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" xlink:label="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasuryBillSecuritiesMember" xlink:label="us-gaap_USTreasuryBillSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember" xlink:label="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue" xlink:label="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvailableForSaleSecuritiesEstimatedFairValue" xlink:label="rgen_AvailableForSaleSecuritiesEstimatedFairValue"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_FairValueByBalanceSheetGroupingTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_InvestmentTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeCategorizationMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeCategorizationMember_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_CashAndCashEquivalentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="rgen_CashAndMoneyMarketFundsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_CashAndCashEquivalentsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_USTreasuryBillSecuritiesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="rgen_AvailableForSaleSecuritiesEstimatedFairValue" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByBalanceSheetGroupingTable" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="us-gaap_AssetsFairValueDisclosure"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="us-gaap_MoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShortTermContingentConsideration" xlink:label="rgen_ShortTermContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LongTermContingentConsideration" xlink:label="rgen_LongTermContingentConsideration"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueByBalanceSheetGroupingTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_AssetsFairValueDisclosure" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel1Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="us-gaap_MoneyMarketFundsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_CashAndCashEquivalentsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_ShortTermContingentConsideration" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel3Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_LongTermContingentConsideration" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:label="rgen_SummaryOfSignificantAccountingPoliciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByBalanceSheetGroupingTable" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SubscriptionTransactionMember" xlink:label="rgen_SubscriptionTransactionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleNotesMember" xlink:label="rgen_ConvertibleNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangedAmountCancelled" xlink:label="rgen_DebtInstrumentExchangedAmountCancelled"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangeTransactionMember" xlink:label="rgen_ExchangeTransactionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NotesMember" xlink:label="rgen_NotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangeAmount" xlink:label="rgen_DebtInstrumentExchangeAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentFaceAmountInCash" xlink:label="rgen_DebtInstrumentFaceAmountInCash"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentIssuedForCash" xlink:label="rgen_DebtInstrumentIssuedForCash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" xlink:label="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtFairValue" xlink:label="us-gaap_LongTermDebtFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AdditionalUndiscountedInContingentConsiderationEarnoutPayments" xlink:label="rgen_AdditionalUndiscountedInContingentConsiderationEarnoutPayments"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RevenueAndVolumeProjectionsPerformancePeriod" xlink:label="rgen_RevenueAndVolumeProjectionsPerformancePeriod"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_FairValueByBalanceSheetGroupingTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_PrivatePlacementMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_DebtInstrumentAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="rgen_SubscriptionTransactionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ConvertibleNotesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DebtInstrumentExchangedAmountCancelled" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="rgen_ExchangeTransactionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_NotesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DebtInstrumentExchangeAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DebtInstrumentFaceAmountInCash" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_DebtInstrumentIssuedForCash" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_LongTermDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_LongTermDebtFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_AdditionalUndiscountedInContingentConsiderationEarnoutPayments" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgen_RevenueAndVolumeProjectionsPerformancePeriod" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationMember" xlink:label="rgen_ContingentConsiderationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="rgen_ContingentConsiderationMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_LiabilitiesFairValueDisclosure" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationMember" xlink:label="rgen_ContingentConsiderationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="us-gaap_MeasurementInputTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputProbabilityOfSuccessMember" xlink:label="rgen_MeasurementInputProbabilityOfSuccessMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationTechniqueDomain" xlink:label="us-gaap_ValuationTechniqueDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MonteCarloSimulationMember" xlink:label="rgen_MonteCarloSimulationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="us-gaap_MeasurementInputTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="us-gaap_MeasurementInputTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideAndFlexbiosysMember" xlink:label="rgen_AvitideAndFlexbiosysMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RDAndCommercializationBasedPaymentsMember" xlink:label="rgen_RDAndCommercializationBasedPaymentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationTechniqueAxis" xlink:label="us-gaap_ValuationTechniqueAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationTechniqueDomain" xlink:label="us-gaap_ValuationTechniqueDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputEarnoutDiscountRateMember" xlink:label="rgen_MeasurementInputEarnoutDiscountRateMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProbabilityWeightedPresentValueMember" xlink:label="rgen_ProbabilityWeightedPresentValueMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProbabilityOfSuccess" xlink:label="rgen_ProbabilityOfSuccess"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RevenueAndVolumeBasedPaymentsMember" xlink:label="rgen_RevenueAndVolumeBasedPaymentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputPriceVolatilityMember" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_WeightedAverageDiscountRate" xlink:label="rgen_WeightedAverageDiscountRate"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ManufacturingLineExpansionsMember" xlink:label="rgen_ManufacturingLineExpansionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MeasurementInputRevenueVolumeDiscountRateMember" xlink:label="rgen_MeasurementInputRevenueVolumeDiscountRateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeFixedInterestRate" xlink:label="us-gaap_DerivativeFixedInterestRate"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_VolatilityRateOfContingentConsideration" xlink:label="rgen_VolatilityRateOfContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RevenueAndVolumeDiscountRate" xlink:label="rgen_RevenueAndVolumeDiscountRate"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="rgen_ContingentConsiderationMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="rgen_MeasurementInputProbabilityOfSuccessMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ValuationTechniqueDomain" xlink:to="rgen_MonteCarloSimulationMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_LiabilitiesFairValueDisclosure" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideAndFlexbiosysMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="rgen_RDAndCommercializationBasedPaymentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ValuationTechniqueAxis" xlink:to="us-gaap_ValuationTechniqueDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ValuationTechniqueAxis" xlink:to="us-gaap_ValuationTechniqueDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementsRecurringMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="rgen_MeasurementInputEarnoutDiscountRateMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ValuationTechniqueDomain" xlink:to="rgen_ProbabilityWeightedPresentValueMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_ProbabilityOfSuccess" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_ValuationTechniqueAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="rgen_RevenueAndVolumeBasedPaymentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="us-gaap_MeasurementInputPriceVolatilityMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_WeightedAverageDiscountRate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="rgen_ManufacturingLineExpansionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="rgen_MeasurementInputRevenueVolumeDiscountRateMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_DerivativeFixedInterestRate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_VolatilityRateOfContingentConsideration" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_IncomeStatementLocationAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="rgen_RevenueAndVolumeDiscountRate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_MeasurementInputTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrustForBenefitOfEmployeesMember" xlink:label="us-gaap_TrustForBenefitOfEmployeesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalUnitsMember" xlink:label="us-gaap_CapitalUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" xlink:label="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillMember" xlink:label="us-gaap_GoodwillMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonrecurringAdjustmentAxis" xlink:label="us-gaap_NonrecurringAdjustmentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonrecurringAdjustmentDomain" xlink:label="us-gaap_NonrecurringAdjustmentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonrecurringAdjustmentDomain" xlink:label="us-gaap_NonrecurringAdjustmentDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationByTypeAxis" xlink:label="us-gaap_ContingentConsiderationByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="us-gaap_ContingentConsiderationTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="us-gaap_ContingentConsiderationTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh" xlink:label="us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessAcquisitionWorkingCapitalAdjustments" xlink:label="rgen_BusinessAcquisitionWorkingCapitalAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:label="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:label="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ContingentConsiderationExpense" xlink:label="rgen_ContingentConsiderationExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xlink:label="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationAdditionalCashForTransactionBonus" xlink:label="rgen_BusinessCombinationAdditionalCashForTransactionBonus"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationTransactionCostPaidDuringPeriod" xlink:label="rgen_BusinessCombinationTransactionCostPaidDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationsCashDepositedInEscrowAccount" xlink:label="rgen_BusinessCombinationsCashDepositedInEscrowAccount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationConsiderationIndemnificationEscrow" xlink:label="rgen_BusinessCombinationConsiderationIndemnificationEscrow"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" xlink:label="us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="us-gaap_TrustForBenefitOfEmployeesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CapitalUnitsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="us-gaap_GoodwillMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_NonrecurringAdjustmentAxis" xlink:to="us-gaap_NonrecurringAdjustmentDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_NonrecurringAdjustmentAxis" xlink:to="us-gaap_NonrecurringAdjustmentDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ContingentConsiderationByTypeAxis" xlink:to="us-gaap_ContingentConsiderationTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ContingentConsiderationByTypeAxis" xlink:to="us-gaap_ContingentConsiderationTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_StatementEquityComponentsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexAndNtmAcquisitionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_IncomeStatementLocationAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_PolymemSAMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_ContingentConsiderationByTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_FairValueByAssetClassAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessAcquisitionWorkingCapitalAdjustments" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_NonrecurringAdjustmentAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="srt_TitleOfIndividualAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_Goodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="14" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="15" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="16" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_ContingentConsiderationExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="17" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="18" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="19" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationAdditionalCashForTransactionBonus" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="20" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationTransactionCostPaidDuringPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="21" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationsCashDepositedInEscrowAccount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="22" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="23" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationConsiderationIndemnificationEscrow" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="24" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="25" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="26" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="27" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashConsiderationExcludingRestrictedCash" xlink:label="rgen_CashConsiderationExcludingRestrictedCash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xlink:label="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_CashConsiderationExcludingRestrictedCash" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NetWorkingCapitalExcludingCashAndInventory" xlink:label="rgen_NetWorkingCapitalExcludingCashAndInventory"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksAndTradeNamesMember" xlink:label="us-gaap_TrademarksAndTradeNamesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_NetWorkingCapitalExcludingCashAndInventory" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TrademarksAndTradeNamesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexAndNtmAcquisitionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_PolymemSAMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_Goodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="14" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="15" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="16" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="17" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexAndNtmAcquisitionMember" xlink:label="rgen_BioflexAndNtmAcquisitionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PolymemSAMember" xlink:label="rgen_PolymemSAMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="rgen_EngineeredMoldingTechnologyLlcMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexAndNtmAcquisitionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_PolymemSAMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_EngineeredMoldingTechnologyLlcMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_CTechnologiesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveLineItems" xlink:label="us-gaap_RestructuringCostAndReserveLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashInventoryAdjustments" xlink:label="rgen_NoncashInventoryAdjustments"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCharges" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="rgen_NoncashInventoryAdjustments" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveLineItems" xlink:label="us-gaap_RestructuringCostAndReserveLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveAxis" xlink:label="us-gaap_RestructuringCostAndReserveAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeSeveranceMember" xlink:label="us-gaap_EmployeeSeveranceMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_InventoryAdjustmentsMember" xlink:label="rgen_InventoryAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcceleratedDepreciationMember" xlink:label="rgen_AcceleratedDepreciationMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityAndOtherExitCostsMember" xlink:label="rgen_FacilityAndOtherExitCostsMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_TypeOfRestructuringDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_TypeOfRestructuringDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_IncomeStatementLocationAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="us-gaap_EmployeeSeveranceMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_RestructuringCostAndReserveAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_InventoryAdjustmentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_AcceleratedDepreciationMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_FacilityAndOtherExitCostsMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveLineItems" xlink:label="us-gaap_RestructuringCostAndReserveLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveAxis" xlink:label="us-gaap_RestructuringCostAndReserveAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeSeveranceMember" xlink:label="us-gaap_EmployeeSeveranceMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRestructuring" xlink:label="us-gaap_PaymentsForRestructuring"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_InventoryAdjustmentsMember" xlink:label="rgen_InventoryAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringReserveSettledWithoutCash2" xlink:label="us-gaap_RestructuringReserveSettledWithoutCash2"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AcceleratedDepreciationMember" xlink:label="rgen_AcceleratedDepreciationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringReserve" xlink:label="us-gaap_RestructuringReserve"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityExitAndOtherExitCostsMember" xlink:label="rgen_FacilityExitAndOtherExitCostsMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_TypeOfRestructuringDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="us-gaap_RestructuringCostAndReserveAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="us-gaap_EmployeeSeveranceMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_PaymentsForRestructuring" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_InventoryAdjustmentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringReserveSettledWithoutCash2" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_AcceleratedDepreciationMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestructuringCostAndReserveLineItems" xlink:to="us-gaap_RestructuringReserve" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="rgen_FacilityExitAndOtherExitCostsMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasedAssetsLineItems" xlink:label="us-gaap_OperatingLeasedAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LeaseObligationsNotYetCommenced" xlink:label="rgen_LeaseObligationsNotYetCommenced"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" xlink:label="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="rgen_LeaseObligationsNotYetCommenced" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RoyaltyMember" xlink:label="us-gaap_RoyaltyMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ProductOrServiceAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_RoyaltyMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PfizerMember" xlink:label="rgen_PfizerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MilliporeSigmaMember" xlink:label="rgen_MilliporeSigmaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_MajorCustomersAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_PfizerMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgen_MilliporeSigmaMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss" xlink:label="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xlink:label="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenue" xlink:label="us-gaap_DeferredRevenue"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiability" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_DeferredRevenue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SpectrumIncMember" xlink:label="rgen_SpectrumIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillPurchaseAccountingAdjustments" xlink:label="us-gaap_GoodwillPurchaseAccountingAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="rgen_NonMetallicSolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="rgen_ArtesynBiosolutionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BioflexMember" xlink:label="rgen_BioflexMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideIncMember" xlink:label="rgen_AvitideIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NewtonNewJerseyMember" xlink:label="rgen_NewtonNewJerseyMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FlexbiosysIncMember" xlink:label="rgen_FlexbiosysIncMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_MetenovaHoldingAbMember" xlink:label="rgen_MetenovaHoldingAbMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_ScheduleOfGoodwillTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_Goodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_SpectrumIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillPurchaseAccountingAdjustments" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NonMetallicSolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_ArtesynBiosolutionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_BioflexMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_NewtonNewJerseyMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_FlexbiosysIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_MetenovaHoldingAbMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IntangibleAssetsLineItems" xlink:label="rgen_IntangibleAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIntangibleAssetsTable" xlink:label="rgen_ScheduleOfIntangibleAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember" xlink:label="us-gaap_TrademarksMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DaylightSolutionsIncMember" xlink:label="rgen_DaylightSolutionsIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="us-gaap_OtherIntangibleAssetsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IndefiniteLivedIntangibleAssetsNet" xlink:label="rgen_IndefiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="rgen_ScheduleOfIntangibleAssetsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TrademarksMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="rgen_DaylightSolutionsIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="srt_CounterpartyNameAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_PatentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_IntangibleAssetsGrossExcludingGoodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_ScheduleOfIntangibleAssetsTable" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_OtherIntangibleAssetsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="rgen_IndefiniteLivedIntangibleAssetsNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsDetailParenthetical"/>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:label="rgen_FiniteLivedIntangibleLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLineItems" xlink:label="us-gaap_InventoryLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryCurrentTable" xlink:label="us-gaap_InventoryCurrentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryCurrentTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_InventoryCurrentTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryNet" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:label="rgen_PrepaidExpensesAndOtherCurrentAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidServicesAndProfessionalFees" xlink:label="rgen_PrepaidServicesAndProfessionalFees"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes" xlink:label="us-gaap_PrepaidTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidInsurance" xlink:label="us-gaap_PrepaidInsurance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="rgen_PrepaidExpensesAndOtherCurrentAssetsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="rgen_PrepaidServicesAndProfessionalFees" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="us-gaap_PrepaidTaxes" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="us-gaap_PrepaidInsurance" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="us-gaap_OtherAssetsCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Land" xlink:label="us-gaap_Land"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingsAndImprovementsGross" xlink:label="us-gaap_BuildingsAndImprovementsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsGross" xlink:label="us-gaap_LeaseholdImprovementsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentGross" xlink:label="us-gaap_MachineryAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesGross" xlink:label="us-gaap_FurnitureAndFixturesGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedComputerSoftwareGross" xlink:label="us-gaap_CapitalizedComputerSoftwareGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentOther" xlink:label="us-gaap_PropertyPlantAndEquipmentOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_Land" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_BuildingsAndImprovementsGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_LeaseholdImprovementsGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_MachineryAndEquipmentGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_FurnitureAndFixturesGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_CapitalizedComputerSoftwareGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ConstructionInProgressGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentOther" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RgenFacilityAxis" xlink:label="rgen_RgenFacilityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RgenFacilityDomain" xlink:label="rgen_RgenFacilityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RgenFacilityDomain" xlink:label="rgen_RgenFacilityDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityAxis" xlink:label="rgen_FacilityAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityDomain" xlink:label="rgen_FacilityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FacilityDomain" xlink:label="rgen_FacilityDomain_default"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Depreciation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="rgen_RgenFacilityAxis" xlink:to="rgen_RgenFacilityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="rgen_RgenFacilityAxis" xlink:to="rgen_RgenFacilityDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="rgen_FacilityAxis" xlink:to="rgen_FacilityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="rgen_FacilityAxis" xlink:to="rgen_FacilityDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="rgen_FacilityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="rgen_RgenFacilityAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:label="rgen_ScheduleOfAccruedLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfAccruedLiabilitiesTable" xlink:label="rgen_ScheduleOfAccruedLiabilitiesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="us-gaap_DeferredRevenueCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="rgen_ScheduleOfAccruedLiabilitiesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_ScheduleOfAccruedLiabilitiesTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_DeferredRevenueCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="us-gaap_AccruedLiabilitiesCurrent" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:label="rgen_ScheduleOfIncomeBeforeIncomeTaxTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:to="rgen_ScheduleOfIncomeBeforeIncomeTaxTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesLineItems" xlink:label="rgen_IncomeTaxesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesTable" xlink:label="rgen_IncomeTaxesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xlink:label="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" xlink:label="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_IncomeTaxesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxesTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesLineItems" xlink:label="rgen_IncomeTaxesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesTable" xlink:label="rgen_IncomeTaxesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" xlink:label="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_IncomeTaxesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxesTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesLineItems" xlink:label="rgen_IncomeTaxesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxesTable" xlink:label="rgen_IncomeTaxesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LatestTaxYearMember" xlink:label="us-gaap_LatestTaxYearMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMember" xlink:label="us-gaap_OtherAssetsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="us-gaap_TaxCreditCarryforwardAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="us-gaap_StateAndLocalJurisdictionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2040Member" xlink:label="rgen_TaxYear2040Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiablitiesMember" xlink:label="rgen_DeferredTaxLiablitiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherInformationPertainingToIncomeTaxes" xlink:label="us-gaap_OtherInformationPertainingToIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FederalAndStateMember" xlink:label="rgen_FederalAndStateMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2041Member" xlink:label="rgen_TaxYear2041Member"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AccumulatedDeficitMember" xlink:label="rgen_AccumulatedDeficitMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_InflationReductionActOfTwoThousandTwentyTwoMember" xlink:label="rgen_InflationReductionActOfTwoThousandTwentyTwoMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYear2043Member" xlink:label="rgen_TaxYear2043Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TaxYearTwoThousandThirtySevenMember" xlink:label="rgen_TaxYearTwoThousandThirtySevenMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnlimitedCarryforwardPeriodMember" xlink:label="rgen_UnlimitedCarryforwardPeriodMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfCurrentFederalTaxExpenseBenefit" xlink:label="rgen_PercentageOfCurrentFederalTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentOfExciseTaxOnNetStockRepurchases" xlink:label="rgen_PercentOfExciseTaxOnNetStockRepurchases"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ForeignEarningsSubjectToOneTimeTransitionTax" xlink:label="rgen_ForeignEarningsSubjectToOneTimeTransitionTax"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" xlink:label="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_IncomeTaxesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_OperatingLossCarryforwards" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxesTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_DomesticCountryMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="us-gaap_LatestTaxYearMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_OtherAssetsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_TaxCreditCarryforwardAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxesTable" xlink:to="srt_StatementGeographicalAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_StateAndLocalJurisdictionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_TaxYear2040Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="rgen_DeferredTaxLiablitiesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_OtherInformationPertainingToIncomeTaxes" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxesTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="rgen_FederalAndStateMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_TaxYear2041Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="rgen_AccumulatedDeficitMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxesTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="rgen_InflationReductionActOfTwoThousandTwentyTwoMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_TaxYear2043Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxesTable" xlink:to="us-gaap_TaxPeriodAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_TaxYearTwoThousandThirtySevenMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxesTable" xlink:to="us-gaap_BalanceSheetLocationAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="rgen_UnlimitedCarryforwardPeriodMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_PercentageOfCurrentFederalTaxExpenseBenefit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_PercentOfExciseTaxOnNetStockRepurchases" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_ForeignEarningsSubjectToOneTimeTransitionTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxesLineItems" xlink:to="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:label="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xlink:label="rgen_DeferredIncomeTaxLiabilitiesFixedAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxAssetsOperatingLeases" xlink:label="rgen_DeferredTaxAssetsOperatingLeases"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:label="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesDebtDiscount" xlink:label="rgen_DeferredTaxLiabilitiesDebtDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xlink:label="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:to="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="rgen_DeferredIncomeTaxLiabilitiesFixedAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="rgen_DeferredTaxAssetsOperatingLeases" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="rgen_DeferredTaxLiabilitiesDebtDiscount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsInventory" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNet" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxRateReconciliationLineItems" xlink:label="rgen_IncomeTaxRateReconciliationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxRateReconciliationTable" xlink:label="rgen_IncomeTaxRateReconciliationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationTaxCredits" xlink:label="us-gaap_IncomeTaxReconciliationTaxCredits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" xlink:label="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationTaxContingencies" xlink:label="us-gaap_IncomeTaxReconciliationTaxContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" xlink:label="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_IncomeTaxRateReconciliationTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:to="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_IncomeTaxRateReconciliationTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:to="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:to="us-gaap_IncomeTaxReconciliationTaxCredits" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationTaxContingencies" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="14" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxReconciliationOtherReconcilingItems" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="15" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="16" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="17" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="18" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="19" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="20" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="21" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="22" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="23" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="24" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="25" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="26" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="27" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="28" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="29" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="30" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_IncomeTaxRateReconciliationLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExaminationLineItems" xlink:label="us-gaap_IncomeTaxExaminationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExaminationTable" xlink:label="us-gaap_IncomeTaxExaminationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarliestTaxYearMember" xlink:label="us-gaap_EarliestTaxYearMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OpenTaxYear" xlink:label="us-gaap_OpenTaxYear"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_SE" xlink:label="country_SE"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LatestTaxYearMember" xlink:label="us-gaap_LatestTaxYearMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_IncomeTaxExaminationLineItems" xlink:to="us-gaap_IncomeTaxExaminationTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_IncomeTaxExaminationTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="us-gaap_EarliestTaxYearMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxExaminationLineItems" xlink:to="us-gaap_OpenTaxYear" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_SE" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_IncomeTaxExaminationTable" xlink:to="srt_StatementGeographicalAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="us-gaap_LatestTaxYearMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_IncomeTaxExaminationTable" xlink:to="us-gaap_TaxPeriodAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" xlink:label="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockholdersEquityNoteDisclosureLineItems" xlink:label="rgen_StockholdersEquityNoteDisclosureLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockholdersEquityNoteDisclosureTable" xlink:label="rgen_StockholdersEquityNoteDisclosureTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnderwriterMember" xlink:label="rgen_UnderwriterMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_StockOptionAndIncentivePlanMember" xlink:label="rgen_StockOptionAndIncentivePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvitideLlcMember" xlink:label="rgen_AvitideLlcMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonExecutiveMember" xlink:label="rgen_NonExecutiveMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OptionToPurchaseCommonStockMember" xlink:label="rgen_OptionToPurchaseCommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EarnoutConsiderationEarned" xlink:label="rgen_EarnoutConsiderationEarned"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CommonStockIssuePricePerShare" xlink:label="rgen_CommonStockIssuePricePerShare"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_UnvestedOptionsMember" xlink:label="rgen_UnvestedOptionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RestrictedStockAndPerformanceStockUnitsMember" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonEmployeeDirectorStockOptionMember" xlink:label="rgen_NonEmployeeDirectorStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" xlink:label="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="rgen_StockholdersEquityNoteDisclosureTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="rgen_UnderwriterMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VestingDomain" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheOneMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="rgen_StockOptionAndIncentivePlanMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="rgen_AvitideLlcMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_DebtInstrumentAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_CommonStockSharesIssued" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="rgen_NonExecutiveMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VestingDomain" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_OptionToPurchaseCommonStockMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="srt_TitleOfIndividualAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="rgen_EarnoutConsiderationEarned" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_AwardTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="rgen_CommonStockIssuePricePerShare" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_UnvestedOptionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_StatementEquityComponentsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_RestrictedStockAndPerformanceStockUnitsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_NonEmployeeDirectorStockOptionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_VestingAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_PlanNameAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_StockholdersEquityNoteDisclosureTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="rgen_PercentageOfSharesSubjectToForfeiture" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_SharePrice" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="14" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="15" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="16" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="17" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="18" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="19" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="20" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="21" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="22" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_StockRepurchaseProgramAuthorizedAmount1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="23" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="24" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="25" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="26" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_ShareBasedCompensation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_IncomeStatementLocationAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonExecutiveMember" xlink:label="rgen_NonExecutiveMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="rgen_NonExecutiveMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgen_PercentageOfSharesSubjectToForfeiture" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_TitleOfIndividualAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" xlink:label="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NonExecutiveMember" xlink:label="rgen_NonExecutiveMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="rgen_PercentageOfSharesSubjectToForfeiture"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_RestrictedStockAndPerformanceStockUnitsMember" xlink:label="rgen_RestrictedStockAndPerformanceStockUnitsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="rgen_NonExecutiveMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgen_PercentageOfSharesSubjectToForfeiture" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgen_RestrictedStockAndPerformanceStockUnitsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_TitleOfIndividualAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CommitmentsAndContingenciesLineItems" xlink:label="rgen_CommitmentsAndContingenciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CommitmentsAndContingenciesTable" xlink:label="rgen_CommitmentsAndContingenciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NGLImpactAMember" xlink:label="rgen_NGLImpactAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:label="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementMember" xlink:label="us-gaap_ResearchAndDevelopmentArrangementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:label="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:label="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RoyaltyExpense" xlink:label="us-gaap_RoyaltyExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:label="us-gaap_ContractualObligationDueInNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CapacityOfBioreactors" xlink:label="rgen_CapacityOfBioreactors"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgen_CommitmentsAndContingenciesLineItems" xlink:to="rgen_CommitmentsAndContingenciesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgen_NGLImpactAMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_CommitmentsAndContingenciesTable" xlink:to="srt_ProductOrServiceAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:to="us-gaap_ResearchAndDevelopmentArrangementMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:to="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:to="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_CommitmentsAndContingenciesLineItems" xlink:to="us-gaap_RoyaltyExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_CommitmentsAndContingenciesTable" xlink:to="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_CommitmentsAndContingenciesLineItems" xlink:to="us-gaap_ContractualObligationDueInNextTwelveMonths" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgen_CommitmentsAndContingenciesTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgen_CommitmentsAndContingenciesLineItems" xlink:to="rgen_CapacityOfBioreactors" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtNoncurrent" xlink:label="us-gaap_ConvertibleDebtNoncurrent"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ConvertibleNotesPayableCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ConvertibleDebtNoncurrent" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" xlink:label="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangeAndSubscriptionAgreementsMember" xlink:label="rgen_ExchangeAndSubscriptionAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangedTwoZeroOneNineNotesMember" xlink:label="rgen_ExchangedTwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangedAmount" xlink:label="rgen_DebtInstrumentExchangedAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_FairValueOfEmbeddedConversionOptionMember" xlink:label="rgen_FairValueOfEmbeddedConversionOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ModifiedTwoZeroOneNineNotesMember" xlink:label="rgen_ModifiedTwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentExchangedAmountCancelled" xlink:label="rgen_DebtInstrumentExchangedAmountCancelled"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SubscriptionTransactionsMember" xlink:label="rgen_SubscriptionTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentIssuedForCash" xlink:label="rgen_DebtInstrumentIssuedForCash"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TwoZeroTwoThreeNotesMember" xlink:label="rgen_TwoZeroTwoThreeNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ModificationOfDebt" xlink:label="rgen_ModificationOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OutstandingTwoZeroTwoThreeNotesMember" xlink:label="rgen_OutstandingTwoZeroTwoThreeNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ExchangeTransactionMember" xlink:label="rgen_ExchangeTransactionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_TwoZeroOneNineNotesMember" xlink:label="rgen_TwoZeroOneNineNotesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateTerms" xlink:label="us-gaap_DebtInstrumentInterestRateTerms"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentConvertibleIntoEquity" xlink:label="rgen_DebtInstrumentConvertibleIntoEquity"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentConvertibleIntoEquitySettled" xlink:label="rgen_DebtInstrumentConvertibleIntoEquitySettled"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:label="us-gaap_DebtInstrumentInterestRateDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentAccruedAndUnpaidInterest" xlink:label="rgen_DebtInstrumentAccruedAndUnpaidInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfDebtIssuanceCost" xlink:label="rgen_AmortizationOfDebtIssuanceCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtFairValue" xlink:label="us-gaap_LongTermDebtFairValue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_OptionToPurchaseAdditionalDebtFaceAmount" xlink:label="rgen_OptionToPurchaseAdditionalDebtFaceAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DiscountRate" xlink:label="rgen_DiscountRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" xlink:label="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" xlink:label="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ConvertibleNotesTransactionCostsOfEquityComponent" xlink:label="rgen_ConvertibleNotesTransactionCostsOfEquityComponent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarlyRepaymentOfSeniorDebt" xlink:label="us-gaap_EarlyRepaymentOfSeniorDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentIncreaseAccruedInterest" xlink:label="us-gaap_DebtInstrumentIncreaseAccruedInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:label="us-gaap_DebtConversionConvertedInstrumentAmount1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtInstrumentFaceAmountRemaining" xlink:label="rgen_DebtInstrumentFaceAmountRemaining"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" xlink:label="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LossOnDebtConversion" xlink:label="rgen_LossOnDebtConversion"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_ExchangeAndSubscriptionAgreementsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_ShortTermDebtTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_ExchangedTwoZeroOneNineNotesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentExchangedAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="rgen_FairValueOfEmbeddedConversionOptionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_ModifiedTwoZeroOneNineNotesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentExchangedAmountCancelled" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_SubscriptionTransactionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentIssuedForCash" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_SubsequentEventTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_TwoZeroTwoThreeNotesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_ModificationOfDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_StatementEquityComponentsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_OutstandingTwoZeroTwoThreeNotesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_ExchangeTransactionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ProceedsFromConvertibleDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="rgen_TwoZeroOneNineNotesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateTerms" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentMaturityDate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="14" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="15" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentConvertibleIntoEquity" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="16" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentConvertibleIntoEquitySettled" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="17" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="18" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleConversionRatio1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="19" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="20" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateDuringPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="21" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_SharePrice" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="22" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentage" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="23" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentAccruedAndUnpaidInterest" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="24" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="25" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AmortizationOfDebtDiscountPremium" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="26" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AmortizationOfFinancingCosts" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="27" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_AmortizationOfDebtIssuanceCost" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="28" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="29" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="30" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="31" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebtFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="32" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_OptionToPurchaseAdditionalDebtFaceAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="33" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DiscountRate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="34" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="35" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="36" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="37" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_ConvertibleNotesTransactionCostsOfEquityComponent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="38" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredTaxLiabilities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="39" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="40" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LiabilitiesCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="41" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_EarlyRepaymentOfSeniorDebt" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="42" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentIncreaseAccruedInterest" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="43" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="44" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="45" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtConversionConvertedInstrumentAmount1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="46" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_DebtInstrumentFaceAmountRemaining" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="47" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="49" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="rgen_LossOnDebtConversion" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_StockholdersEquity" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="us-gaap_StatementEquityComponentsAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:label="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:label="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionPlansDefinedBenefitMember" xlink:label="us-gaap_PensionPlansDefinedBenefitMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DefinedContribution401KPlanMember" xlink:label="rgen_DefinedContribution401KPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanSponsorLocationDomain" xlink:label="us-gaap_RetirementPlanSponsorLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignPlanMember" xlink:label="us-gaap_ForeignPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DefinedContributionPlanEmployeeEligibilityAge" xlink:label="rgen_DefinedContributionPlanEmployeeEligibilityAge"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanSponsorLocationAxis" xlink:label="us-gaap_RetirementPlanSponsorLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanSponsorLocationDomain" xlink:label="us-gaap_RetirementPlanSponsorLocationDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:label="us-gaap_DefinedBenefitPlanContributionsByEmployer"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:to="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:to="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RetirementPlanTypeDomain" xlink:to="us-gaap_PensionPlansDefinedBenefitMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:to="rgen_DefinedContribution401KPlanMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RetirementPlanSponsorLocationDomain" xlink:to="us-gaap_ForeignPlanMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="rgen_DefinedContributionPlanEmployeeEligibilityAge" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RetirementPlanSponsorLocationAxis" xlink:to="us-gaap_RetirementPlanSponsorLocationDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RetirementPlanSponsorLocationAxis" xlink:to="us-gaap_RetirementPlanSponsorLocationDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_DefinedBenefitPlanContributionsByEmployer" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="us-gaap_RetirementPlanTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="us-gaap_RetirementPlanSponsorLocationAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrincipalOwnerMember" xlink:label="us-gaap_PrincipalOwnerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_SpectrumIncMember" xlink:label="rgen_SpectrumIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfessionalFees" xlink:label="us-gaap_ProfessionalFees"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CTechnologiesMember" xlink:label="rgen_CTechnologiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaid" xlink:label="us-gaap_IncomeTaxesPaid"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_PrincipalOwnerMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_OwnershipDomain" xlink:to="rgen_SpectrumIncMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="dei_LegalEntityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_ProfessionalFees" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="rgen_CTechnologiesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="srt_TitleOfIndividualAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_TaxesPayableCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_IncomeTaxesPaid" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="srt_OwnershipAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UsefulLifeDescriptionOfTermDomain" xlink:label="us-gaap_UsefulLifeDescriptionOfTermDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UsefulLifeShorterOfTermOfLeaseOrAssetUtilityMember" xlink:label="us-gaap_UsefulLifeShorterOfTermOfLeaseOrAssetUtilityMember"/>
        </link:definitionLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableCurrent" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LiabilitiesCurrent" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_PreferredStockValue" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_HeldToMaturitySecuritiesCurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_CommitmentsAndContingencies" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsNoncurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_ConvertibleDebtNoncurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LiabilitiesNoncurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_CommonStockValue" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_Goodwill" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_InventoryNet" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_ConvertibleNotesPayableCurrent" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent" order="6" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsNoncurrent" xlink:label="us-gaap_AssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HeldToMaturitySecuritiesCurrent" xlink:label="us-gaap_HeldToMaturitySecuritiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtNoncurrent" xlink:label="us-gaap_ConvertibleDebtNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail2">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsGrossExcludingGoodwill" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" order="1" weight="-1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" order="6" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" order="8" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" order="9" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" order="10" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" order="11" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" order="12" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" order="13" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" order="14" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" order="15" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="16" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail2">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="rgen_LeaseIncentives" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_OperatingLeaseLiability" order="2" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_LeaseIncentives" xlink:label="rgen_LeaseIncentives"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail2">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="us-gaap_WeightedAverageNumberOfSharesRestrictedStock" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="rgen_NumberOfSharesBasicOutstanding" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" order="3" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:label="us-gaap_WeightedAverageNumberOfSharesRestrictedStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NumberOfSharesBasicOutstanding" xlink:label="rgen_NumberOfSharesBasicOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" xlink:label="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" xlink:label="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_NonoperatingIncomeExpense" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_CostsAndExpenses" order="0" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_CostOfGoodsAndServicesSold" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_InvestmentIncomeNet" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="0" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_NetIncomeLoss" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_OperatingIncomeLoss" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_ResearchAndDevelopmentExpense" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_InterestExpense" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="rgen_AmortizationOfDebtIssuanceCost" order="3" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="4" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfDebtIssuanceCost" xlink:label="rgen_AmortizationOfDebtIssuanceCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetIncomeLoss" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireHeldToMaturitySecurities" order="0" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" order="0" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="rgen_AmortizationOfInventoryStepUp" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DepreciationAndAmortization" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireSoftware" order="2" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromConvertibleDebt" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AmortizationOfDebtDiscountPremium" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" order="3" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="4" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="4" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets" order="5" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" order="5" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation" order="6" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsForProceedsFromOtherInvestingActivities" order="6" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" order="6" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="7" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" order="7" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" order="8" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="10" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_OtherNoncashIncomeExpense" order="11" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="rgen_NoncashInterestIncome" order="12" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" order="13" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="14" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="15" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" order="16" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" order="17" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" order="18" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" order="20" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" order="21" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" order="24" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AmortizationOfInventoryStepUp" xlink:label="rgen_AmortizationOfInventoryStepUp"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:label="us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireSoftware" xlink:label="us-gaap_PaymentsToAcquireSoftware"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="us-gaap_AmortizationOfDebtDiscountPremium"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NoncashInterestIncome" xlink:label="rgen_NoncashInterestIncome"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:label="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:to="us-gaap_NetIncomeLoss" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:to="us-gaap_InterestOnConvertibleDebtNetOfTax" order="1" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestOnConvertibleDebtNetOfTax" xlink:label="us-gaap_InterestOnConvertibleDebtNetOfTax"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" xlink:to="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" order="0" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" xlink:to="rgen_AvailableForSaleSecuritiesEstimatedFairValue" order="1" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" xlink:label="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" xlink:label="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_AvailableForSaleSecuritiesEstimatedFairValue" xlink:label="rgen_AvailableForSaleSecuritiesEstimatedFairValue"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="rgen_CashConsiderationExcludingRestrictedCash" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" order="2" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_CashConsiderationExcludingRestrictedCash" xlink:label="rgen_CashConsiderationExcludingRestrictedCash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="rgen_NetWorkingCapitalExcludingCashAndInventory" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" order="6" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" order="7" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" order="8" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_Goodwill" order="9" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" order="10" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" order="11" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" order="12" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" order="13" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" order="14" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" order="15" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" order="16" weight="-1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_NetWorkingCapitalExcludingCashAndInventory" xlink:label="rgen_NetWorkingCapitalExcludingCashAndInventory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" xlink:label="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" order="5" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="1" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_OperatingLeaseCost" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="rgen_VariableOperatingLeaseCost" order="1" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_VariableOperatingLeaseCost" xlink:label="rgen_VariableOperatingLeaseCost"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="rgen_IndefiniteLivedIntangibleAssetsNet" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" order="1" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IndefiniteLivedIntangibleAssetsNet" xlink:label="rgen_IndefiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" order="5" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" order="2" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="rgen_PrepaidServicesAndProfessionalFees" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidTaxes" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidInsurance" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_OtherAssetsCurrent" order="3" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_PrepaidServicesAndProfessionalFees" xlink:label="rgen_PrepaidServicesAndProfessionalFees"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes" xlink:label="us-gaap_PrepaidTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidInsurance" xlink:label="us-gaap_PrepaidInsurance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_Land" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_BuildingsAndImprovementsGross" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_LeaseholdImprovementsGross" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_MachineryAndEquipmentGross" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_FurnitureAndFixturesGross" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_CapitalizedComputerSoftwareGross" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_ConstructionInProgressGross" order="6" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentOther" order="7" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Land" xlink:label="us-gaap_Land"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingsAndImprovementsGross" xlink:label="us-gaap_BuildingsAndImprovementsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsGross" xlink:label="us-gaap_LeaseholdImprovementsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentGross" xlink:label="us-gaap_MachineryAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesGross" xlink:label="us-gaap_FurnitureAndFixturesGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedComputerSoftwareGross" xlink:label="us-gaap_CapitalizedComputerSoftwareGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentOther" xlink:label="us-gaap_PropertyPlantAndEquipmentOther"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_DeferredRevenueCurrent" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" order="6" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="us-gaap_DeferredRevenueCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" order="1" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" order="1" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xlink:label="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsGross" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxLiabilities" xlink:to="us-gaap_DeferredTaxAssetsNet" order="0" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="rgen_DeferredIncomeTaxLiabilitiesFixedAssets" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="rgen_DeferredTaxLiabilitiesDebtDiscount" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsInventory" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" order="4" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="rgen_DeferredTaxAssetsOperatingLeases" order="6" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" order="7" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xlink:label="rgen_DeferredIncomeTaxLiabilitiesFixedAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesDebtDiscount" xlink:label="rgen_DeferredTaxLiabilitiesDebtDiscount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:label="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xlink:label="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_DeferredTaxAssetsOperatingLeases" xlink:label="rgen_DeferredTaxAssetsOperatingLeases"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationTaxCredits" order="3" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount" order="6" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" order="8" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" order="9" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" order="10" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" order="11" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" order="12" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationTaxContingencies" order="15" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" order="16" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" order="17" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationOtherReconcilingItems" order="18" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationTaxCredits" xlink:label="us-gaap_IncomeTaxReconciliationTaxCredits"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" xlink:label="us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" xlink:label="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationTaxContingencies" xlink:label="us-gaap_IncomeTaxReconciliationTaxContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="rgen-20231231.xsd#rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" xlink:label="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:label="us-gaap_IncomeTaxReconciliationOtherReconcilingItems"/>
        </link:calculationLink>
      </link:linkbase>
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:element id="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_FacilityAxis" name="FacilityAxis" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain" name="DebtSecuritiesHeldToMaturityGrossUnrealizedGain" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_TonyJHuntMember" name="TonyJHuntMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_AmortizationOfDebtIssuanceCost" name="AmortizationOfDebtIssuanceCost" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_NonMetallicSolutionsMember" name="NonMetallicSolutionsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" name="EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_SubscriptionTransactionsMember" name="SubscriptionTransactionsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DebtInstrumentConvertibleIntoEquitySettled" name="DebtInstrumentConvertibleIntoEquitySettled" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" name="ProvisionForDeferredIncomeTaxExpenseBenefit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_ContingentConsiderationObligationEstimated" name="ContingentConsiderationObligationEstimated" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_ExchangeAndSubscriptionAgreementsMember" name="ExchangeAndSubscriptionAgreementsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_CommonStockIssuePricePerShare" name="CommonStockIssuePricePerShare" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" name="ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" name="IncomeTaxReconciliationReturnToProvisionAdjustments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" name="IncreasedecreaseInOperatingLeaseRightOfUseAsset" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_PercentOfExciseTaxOnNetStockRepurchases" name="PercentOfExciseTaxOnNetStockRepurchases" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_UnderwriterMember" name="UnderwriterMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" name="IndefiniteLivedIntangibleAssetsAccumulatedAmortization" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_ArtesynBiosolutionsMember" name="ArtesynBiosolutionsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" name="DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_LossOnDebtConversion" name="LossOnDebtConversion" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" name="OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_BusinessCombinationAdditionalCashForTransactionBonus" name="BusinessCombinationAdditionalCashForTransactionBonus" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_ExchangedTwoZeroOneNineNotesMember" name="ExchangedTwoZeroOneNineNotesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" name="EffectiveIncomeTaxRateReconciliationLossOnDebtExchange" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_RevenueAndVolumeDiscountRate" name="RevenueAndVolumeDiscountRate" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_AcceleratedDepreciationMember" name="AcceleratedDepreciationMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_MilliporeSigmaMember" name="MilliporeSigmaMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DebtInstrumentAccruedAndUnpaidInterest" name="DebtInstrumentAccruedAndUnpaidInterest" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_ProbabilityOfSuccess" name="ProbabilityOfSuccess" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_FacilityDomain" name="FacilityDomain" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" name="ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_MeasurementInputRevenueVolumeDiscountRateMember" name="MeasurementInputRevenueVolumeDiscountRateMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" name="ConvertibleNotesTransactionCostsOfLiabilityComponent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_DeferredTaxAssetsOperatingLeases" name="DeferredTaxAssetsOperatingLeases" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_FairValueOfEmbeddedConversionOptionMember" name="FairValueOfEmbeddedConversionOptionMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_CTechnologiesMember" name="CTechnologiesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_NewtonNewJerseyMember" name="NewtonNewJerseyMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_CommitmentsAndContingenciesTable" name="CommitmentsAndContingenciesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_WeightedAverageDiscountRate" name="WeightedAverageDiscountRate" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_OtherProductsMember" name="OtherProductsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_NetWorkingCapitalExcludingCashAndInventory" name="NetWorkingCapitalExcludingCashAndInventory" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract" name="DilutiveSharesEffectOnBasicEarningsPerShareAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DeferredIncomeTaxLiabilitiesFixedAssets" name="DeferredIncomeTaxLiabilitiesFixedAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_SpectrumIncMember" name="SpectrumIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_NumberOfSharesBasicOutstanding" name="NumberOfSharesBasicOutstanding" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_TrdArrExpirationDate" name="TrdArrExpirationDate" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_RevenueAndVolumeProjectionsPerformancePeriod" name="RevenueAndVolumeProjectionsPerformancePeriod" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_StockOptionAndIncentivePlanMember" name="StockOptionAndIncentivePlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_SubscriptionTransactionMember" name="SubscriptionTransactionMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DeferredTaxLiablitiesMember" name="DeferredTaxLiablitiesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ExchangeTransactionMember" name="ExchangeTransactionMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" name="FurnitureFixturesAndOfficeEquipmentMemberMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_MeasurementInputEarnoutDiscountRateMember" name="MeasurementInputEarnoutDiscountRateMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_IncomeTaxesLineItems" name="IncomeTaxesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" name="FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_AvitideLlcMember" name="AvitideLlcMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_CashConsiderationExcludingRestrictedCash" name="CashConsiderationExcludingRestrictedCash" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_FacilityAndOtherExitCostsMember" name="FacilityAndOtherExitCostsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" name="EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock" name="CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_TaxYearTwoThousandThirtySevenMember" name="TaxYearTwoThousandThirtySevenMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" name="ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_UncategorizedAbstract" name="UncategorizedAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_ProbabilityWeightedPresentValueMember" name="ProbabilityWeightedPresentValueMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" name="DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_NumberOfManufacturingSites" name="NumberOfManufacturingSites" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_ConvertibleNotesMember" name="ConvertibleNotesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_PercentageOfSharesSubjectToForfeiture" name="PercentageOfSharesSubjectToForfeiture" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_BusinessAcquisitionWorkingCapitalAdjustments" name="BusinessAcquisitionWorkingCapitalAdjustments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock" name="ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_PuroliteMember" name="PuroliteMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_BioflexAndNtmAcquisitionMember" name="BioflexAndNtmAcquisitionMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_TwoZeroOneNineNotesMember" name="TwoZeroOneNineNotesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DefinedContribution401KPlanMember" name="DefinedContribution401KPlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_OutstandingTwoZeroTwoThreeNotesMember" name="OutstandingTwoZeroTwoThreeNotesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" name="ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember" name="CashAndCashEquivalentsAndMoneyMarketFundsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_IncomeTaxesTable" name="IncomeTaxesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" name="DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_FederalAndStateMember" name="FederalAndStateMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_RDAndCommercializationBasedPaymentsMember" name="RDAndCommercializationBasedPaymentsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_SummaryOfSignificantAccountingPoliciesTable" name="SummaryOfSignificantAccountingPoliciesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ConvertibleNotesTransactionCostsOfEquityComponent" name="ConvertibleNotesTransactionCostsOfEquityComponent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_NoncashInterestIncome" name="NoncashInterestIncome" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_AccruedLiabilitiesPolicyTextBlock" name="AccruedLiabilitiesPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" name="ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_VariableOperatingLeaseCost" name="VariableOperatingLeaseCost" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" name="EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_NonExecutiveMember" name="NonExecutiveMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DaylightSolutionsIncMember" name="DaylightSolutionsIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" name="EffectiveIncomeTaxRateReconciliationForeignExchangeLoss" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_RgenFacilityDomain" name="RgenFacilityDomain" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_EngineeredMoldingTechnologyLlcMember" name="EngineeredMoldingTechnologyLlcMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_NGLImpactAMember" name="NGLImpactAMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_IncomeTaxRateReconciliationLineItems" name="IncomeTaxRateReconciliationLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" name="ArtesynBiosolutionsHoldingsIrelandLimitedMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_FlexbiosysIncMember" name="FlexbiosysIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ForeignEarningsSubjectToOneTimeTransitionTax" name="ForeignEarningsSubjectToOneTimeTransitionTax" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_LeaseObligationsNotYetCommenced" name="LeaseObligationsNotYetCommenced" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_LeaseIncentives" name="LeaseIncentives" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_InflationReductionActOfTwoThousandTwentyTwoMember" name="InflationReductionActOfTwoThousandTwentyTwoMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_AvitideIncMember" name="AvitideIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_MonteCarloSimulationMember" name="MonteCarloSimulationMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" name="StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_IndefiniteLivedIntangibleAssetsNet" name="IndefiniteLivedIntangibleAssetsNet" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_ProteinsProductsMember" name="ProteinsProductsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_RestrictedStockAndPerformanceStockUnitsMember" name="RestrictedStockAndPerformanceStockUnitsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" name="EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" name="OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ProcessAnalyticsProductsMember" name="ProcessAnalyticsProductsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ContingentConsiderationMember" name="ContingentConsiderationMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_IncreaseDecreaseInOperatingLeaseLiabilities" name="IncreaseDecreaseInOperatingLeaseLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_StockholdersEquityNoteDisclosureTable" name="StockholdersEquityNoteDisclosureTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_AccumulatedDeficitMember" name="AccumulatedDeficitMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_RgenFacilityAxis" name="RgenFacilityAxis" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_TaxYear2043Member" name="TaxYear2043Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" name="ScheduleOfIncomeBeforeIncomeTaxLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_LongTermContingentConsideration" name="LongTermContingentConsideration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_CapacityOfBioreactors" name="CapacityOfBioreactors" type="dtr-types:volumeItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_OptionToPurchaseAdditionalDebtFaceAmount" name="OptionToPurchaseAdditionalDebtFaceAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_ScheduleOfAccruedLiabilitiesTable" name="ScheduleOfAccruedLiabilitiesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ScheduleOfIntangibleAssetsTable" name="ScheduleOfIntangibleAssetsTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_SalesRevenuesGoodsNetMember" name="SalesRevenuesGoodsNetMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_OtherDirectorsOrOfficersMember" name="OtherDirectorsOrOfficersMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_AdditionalUndiscountedInContingentConsiderationEarnoutPayments" name="AdditionalUndiscountedInContingentConsiderationEarnoutPayments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" name="ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_IntangibleAssetsLineItems" name="IntangibleAssetsLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DilutiveEffectOnSharesOfConversionPremium" name="DilutiveEffectOnSharesOfConversionPremium" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_BioflexMember" name="BioflexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_StockholdersEquityNoteDisclosureLineItems" name="StockholdersEquityNoteDisclosureLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" name="BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_Rule10B51ArrModifiedFlag" name="Rule10B51ArrModifiedFlag" type="xbrli:booleanItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_AvitideAndFlexbiosysMember" name="AvitideAndFlexbiosysMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_UnvestedOptionsMember" name="UnvestedOptionsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_EarnoutConsiderationEarned" name="EarnoutConsiderationEarned" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_TwoZeroTwoThreeNotesMember" name="TwoZeroTwoThreeNotesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_PrepaidServicesAndProfessionalFees" name="PrepaidServicesAndProfessionalFees" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_ScheduleOfAccruedLiabilitiesLineItems" name="ScheduleOfAccruedLiabilitiesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_MetenovaHoldingAbMember" name="MetenovaHoldingAbMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ReconciliationOfBasicAndDilutedAbstract" name="ReconciliationOfBasicAndDilutedAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ContingentConsiderationExpense" name="ContingentConsiderationExpense" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_DeferredTaxLiabilitiesDebtDiscount" name="DeferredTaxLiabilitiesDebtDiscount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" name="StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_SummaryOfSignificantAccountingPoliciesLineItems" name="SummaryOfSignificantAccountingPoliciesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" name="IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_NotesMember" name="NotesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_RevenueAndVolumeBasedPaymentsMember" name="RevenueAndVolumeBasedPaymentsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DiscountRate" name="DiscountRate" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_IncreaseDecreaseInOperatingLeaseAsset" name="IncreaseDecreaseInOperatingLeaseAsset" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_CommitmentsAndContingenciesLineItems" name="CommitmentsAndContingenciesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ManufacturingLineExpansionsMember" name="ManufacturingLineExpansionsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ModifiedTwoZeroOneNineNotesMember" name="ModifiedTwoZeroOneNineNotesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DebtInstrumentIssuedForCash" name="DebtInstrumentIssuedForCash" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_NonEmployeeDirectorStockOptionMember" name="NonEmployeeDirectorStockOptionMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ShortTermContingentConsideration" name="ShortTermContingentConsideration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_ModificationOfDebt" name="ModificationOfDebt" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_DebtInstrumentFaceAmountInCash" name="DebtInstrumentFaceAmountInCash" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_BusinessCombinationsCashDepositedInEscrowAccount" name="BusinessCombinationsCashDepositedInEscrowAccount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" name="ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_APACOtherMember" name="APACOtherMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" name="RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_DebtInstrumentExchangedAmount" name="DebtInstrumentExchangedAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_DefinedContributionPlanEmployeeEligibilityAge" name="DefinedContributionPlanEmployeeEligibilityAge" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" name="AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_AssetsNonCurrentExcludingDifferedTaxAssets" name="AssetsNonCurrentExcludingDifferedTaxAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_BusinessCombinationTransactionCostPaidDuringPeriod" name="BusinessCombinationTransactionCostPaidDuringPeriod" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_ComputerHardwareAndSoftwareMemberMember" name="ComputerHardwareAndSoftwareMemberMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_BusinessCombinationConsiderationIndemnificationEscrow" name="BusinessCombinationConsiderationIndemnificationEscrow" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_PfizerMember" name="PfizerMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_AvailableForSaleSecuritiesEstimatedFairValue" name="AvailableForSaleSecuritiesEstimatedFairValue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_UnlimitedCarryforwardPeriodMember" name="UnlimitedCarryforwardPeriodMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_InventoryAdjustmentsMember" name="InventoryAdjustmentsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_APACMember" name="APACMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" name="DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" name="DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" name="DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" name="ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue" name="DebtSecuritiesHeldToMaturityEstimatedFairValue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_PolymemSAMember" name="PolymemSAMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ScheduleOfIncomeBeforeIncomeTaxTable" name="ScheduleOfIncomeBeforeIncomeTaxTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_VolatilityRateOfContingentConsideration" name="VolatilityRateOfContingentConsideration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts" name="AcquisitionDateFairValueOfContingentConsiderationEarnouts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_TaxYear2040Member" name="TaxYear2040Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" name="ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_PercentageOfCurrentFederalTaxExpenseBenefit" name="PercentageOfCurrentFederalTaxExpenseBenefit" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_CustomerNumberOneMember" name="CustomerNumberOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" name="PrepaidExpensesAndOtherCurrentAssetsLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" name="WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="rgen_DeferredTaxImpactOnConversionFeature" name="DeferredTaxImpactOnConversionFeature" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" name="ScheduleOfEarningsPerShareBasicAndDilutedLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_CTechnologiesIncMember" name="CTechnologiesIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_DebtInstrumentConvertibleIntoEquity" name="DebtInstrumentConvertibleIntoEquity" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_FiniteLivedIntangibleLiabilitiesLineItems" name="FiniteLivedIntangibleLiabilitiesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_CashAndMoneyMarketFundsMember" name="CashAndMoneyMarketFundsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" name="UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_DebtInstrumentFaceAmountRemaining" name="DebtInstrumentFaceAmountRemaining" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_PrepaidExpensesAndOtherCurrentAssetsTable" name="PrepaidExpensesAndOtherCurrentAssetsTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_AmortizationOfInventoryStepUp" name="AmortizationOfInventoryStepUp" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount" name="EffectiveIncomeTaxRateReconciliationDebtDiscount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost" name="DebtSecuritiesMaturityWithinOneYearAmortizedCost" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_TrueUpCostsDecember2020Member" name="TrueUpCostsDecember2020Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" name="ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_OptionToPurchaseCommonStockMember" name="OptionToPurchaseCommonStockMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_MeasurementInputProbabilityOfSuccessMember" name="MeasurementInputProbabilityOfSuccessMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_FiltrationProductsMember" name="FiltrationProductsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_DebtInstrumentExchangedAmountCancelled" name="DebtInstrumentExchangedAmountCancelled" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_DebtInstrumentExchangeAmount" name="DebtInstrumentExchangeAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_IncomeTaxRateReconciliationTable" name="IncomeTaxRateReconciliationTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_TaxYear2041Member" name="TaxYear2041Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_FacilityExitAndOtherExitCostsMember" name="FacilityExitAndOtherExitCostsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ChromatographyProductsMember" name="ChromatographyProductsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" name="CoronavirusAidReliefAndEconomicSecurityFundValue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="rgen_NoncashInventoryAdjustments" name="NoncashInventoryAdjustments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" name="ScheduleOfEarningsPerShareBasicAndDilutedTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291482899872">
<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, 2023</div></th>
<th class="th"><div>Feb. 16, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_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="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="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">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="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="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_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="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="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Securities Act 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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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">$ 6,931,847,028<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">55,771,075<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">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="Show.showAR( this, 'defref_dei_DocumentsIncorporatedByReferenceTextBlock', window );">Documents Incorporated by Reference</a></td>
<td class="text"><p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Documents Incorporated By Reference</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">The registrant intends to file a proxy statement pursuant to Regulation 14A within 120 days of the end of the fiscal year ended December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">. Portions of such proxy statement are incorporated by reference into Part III of this Annual Report on Form 10-K.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm Id</a></td>
<td class="text">42<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Firm Name</a></td>
<td class="text">Ernst & Young LLP<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Firm Location</a></td>
<td class="text">Boston, Massachusetts, United States<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction [Flag]</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates whether any of the financial statement period in the filing include a restatement due to error correction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFinStmtErrorCorrectionFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentsIncorporatedByReferenceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Documents incorporated by reference.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-23<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DocumentsIncorporatedByReferenceTextBlock</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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291482005536">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 751,323<span></span>
</td>
<td class="nump">$ 523,458<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_HeldToMaturitySecuritiesCurrent', window );">Marketable securities held to maturity</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">100,299<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net of reserves of $2,122 and $1,365 at December 31, 2023 and December 31, 2022, respectively</a></td>
<td class="nump">124,161<span></span>
</td>
<td class="nump">116,247<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">202,321<span></span>
</td>
<td class="nump">238,277<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">33,238<span></span>
</td>
<td class="nump">19,837<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">1,111,043<span></span>
</td>
<td class="nump">998,118<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">207,440<span></span>
</td>
<td class="nump">190,673<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">400,486<span></span>
</td>
<td class="nump">353,676<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">987,120<span></span>
</td>
<td class="nump">855,513<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets</a></td>
<td class="nump">1,530<span></span>
</td>
<td class="nump">840<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right of use assets</a></td>
<td class="nump">115,515<span></span>
</td>
<td class="nump">125,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="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other noncurrent assets</a></td>
<td class="nump">1,277<span></span>
</td>
<td class="nump">815<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsNoncurrent', window );">Total noncurrent assets</a></td>
<td class="nump">1,713,368<span></span>
</td>
<td class="nump">1,526,540<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">2,824,411<span></span>
</td>
<td class="nump">2,524,658<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">19,563<span></span>
</td>
<td class="nump">27,554<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="nump">5,631<span></span>
</td>
<td class="nump">6,957<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent', window );">Current contingent consideration</a></td>
<td class="nump">12,983<span></span>
</td>
<td class="nump">13,950<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">50,533<span></span>
</td>
<td class="nump">71,120<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayableCurrent', window );">Convertible Senior Notes due 2024, net</a></td>
<td class="nump">69,452<span></span>
</td>
<td class="nump">284,615<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">158,162<span></span>
</td>
<td class="nump">404,196<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleDebtNoncurrent', window );">Convertible Senior Notes due 2028, net</a></td>
<td class="nump">510,143<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent', window );">Deferred tax liabilities</a></td>
<td class="nump">40,466<span></span>
</td>
<td class="nump">23,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Noncurrent operating lease liability</a></td>
<td class="nump">126,578<span></span>
</td>
<td class="nump">131,389<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent', window );">Noncurrent contingent consideration</a></td>
<td class="nump">14,070<span></span>
</td>
<td class="nump">51,559<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other noncurrent liabilities</a></td>
<td class="nump">3,789<span></span>
</td>
<td class="nump">3,814<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrent', window );">Total noncurrent liabilities</a></td>
<td class="nump">695,046<span></span>
</td>
<td class="nump">209,762<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">853,208<span></span>
</td>
<td class="nump">613,958<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note 13)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="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="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.01 par value; 80,000,000 shares authorized; 55,766,078 shares at December 31, 2023 and 55,557,698 shares at December 31, 2022 issued and outstanding</a></td>
<td class="nump">558<span></span>
</td>
<td class="nump">556<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">1,569,227<span></span>
</td>
<td class="nump">1,547,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="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(37,431)<span></span>
</td>
<td class="num">(34,394)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated earnings</a></td>
<td class="nump">438,849<span></span>
</td>
<td class="nump">397,272<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="nump">1,971,203<span></span>
</td>
<td class="nump">1,910,700<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity</a></td>
<td class="nump">$ 2,824,411<span></span>
</td>
<td class="nump">$ 2,524,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_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold or consumed after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_BusinessCombinationContingentConsiderationLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479668/805-30-25-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1<br> -Subparagraph b<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479613/805-30-35-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_BusinessCombinationContingentConsiderationLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479668/805-30-25-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1<br> -Subparagraph b<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479613/805-30-35-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount of long-term convertible debt as of the balance sheet date, net of the amount due in the next twelve months or greater than the normal operating cycle, if longer. The debt is convertible into another form of financial instrument, typically the entity's common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAndOtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences, with jurisdictional netting, and liabilities classified as noncurrent and other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HeldToMaturitySecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of investment in debt security measured at amortized cost (held-to-maturity), classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HeldToMaturitySecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 23: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291479250480">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts receivable, reserve for doubtful accounts</a></td>
<td class="nump">$ 2,122<span></span>
</td>
<td class="nump">$ 1,365<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">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="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="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="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="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="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="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">55,766,078<span></span>
</td>
<td class="nump">55,557,698<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">55,766,078<span></span>
</td>
<td class="nump">55,557,698<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291482072752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th" colspan="2"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 638,764<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 801,536<span></span>
</td>
<td class="nump">$ 670,534<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of product revenue</a></td>
<td class="nump">353,922<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">345,830<span></span>
</td>
<td class="nump">279,280<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">42,722<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">43,936<span></span>
</td>
<td class="nump">34,274<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative</a></td>
<td class="nump">218,113<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">215,829<span></span>
</td>
<td class="nump">183,866<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Contingent consideration</a></td>
<td class="num">(30,569)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(28,729)<span></span>
</td>
<td class="nump">5,865<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostsAndExpenses', window );">Total costs and operating expenses</a></td>
<td class="nump">584,188<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">576,866<span></span>
</td>
<td class="nump">503,285<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">54,576<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">224,670<span></span>
</td>
<td class="nump">167,249<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpenseAbstract', window );"><strong>Other income (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="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeNet', window );">Investment income</a></td>
<td class="nump">24,135<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">6,978<span></span>
</td>
<td class="nump">176<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="num">(1,951)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(1,162)<span></span>
</td>
<td class="num">(11,278)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="num">(12,676)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfDebtIssuanceCost', window );">Amortization of debt issuance costs</a></td>
<td class="num">(8,075)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(1,815)<span></span>
</td>
<td class="num">(1,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="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (expenses)</a></td>
<td class="nump">8,123<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(9,531)<span></span>
</td>
<td class="num">(1,168)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Other income (expenses), net</a></td>
<td class="nump">9,556<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(5,530)<span></span>
</td>
<td class="num">(13,706)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">64,132<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">219,140<span></span>
</td>
<td class="nump">153,543<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax provision</a></td>
<td class="nump">22,555<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">33,181<span></span>
</td>
<td class="nump">25,252<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 41,577<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 185,959<span></span>
</td>
<td class="nump">$ 128,291<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic</a></td>
<td class="nump">$ 0.75<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 3.35<span></span>
</td>
<td class="nump">$ 2.33<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted</a></td>
<td class="nump">$ 0.74<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 3.24<span></span>
</td>
<td class="nump">$ 2.24<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic</a></td>
<td class="nump">55,720<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">55,460<span></span>
</td>
<td class="nump">55,015<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted</a></td>
<td class="nump">56,377<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">57,455<span></span>
</td>
<td class="nump">57,264<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">$ 41,577<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 185,959<span></span>
</td>
<td class="nump">$ 128,291<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="num">(3,037)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(17,508)<span></span>
</td>
<td class="num">(18,971)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income</a></td>
<td class="nump">38,540<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">168,451<span></span>
</td>
<td class="nump">109,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="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="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">638,381<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">801,183<span></span>
</td>
<td class="nump">670,319<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=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="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 383<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 353<span></span>
</td>
<td class="nump">$ 215<span></span>
</td>
</tr>
<tr><td colspan="5"></td></tr>
<tr><td colspan="5"><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"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) from April 17, 2023, as well as Metenova Holding AB (&#8220;Metenova&#8221;) from October 2, 2023.</span></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_AmortizationOfDebtIssuanceCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortization of debt issuance cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AmortizationOfDebtIssuanceCost</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_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total costs of sales and operating expenses for the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481303/470-50-40-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481303/470-50-40-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483013/835-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.8)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(a),(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_RoyaltyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_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>16
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291473757632">
<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>True Up Costs December 2020</div></th>
<th class="th"><div>Avitide, Inc.</div></th>
<th class="th"><div>FlexBiosys, Inc.</div></th>
<th class="th"><div>Metenova Holding AB</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th">
<div>Common Stock </div>
<div>Avitide, Inc.</div>
</th>
<th class="th">
<div>Common Stock </div>
<div>FlexBiosys, Inc.</div>
</th>
<th class="th">
<div>Common Stock </div>
<div>Metenova Holding AB</div>
</th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th">
<div>Additional Paid-in Capital </div>
<div>True Up Costs December 2020</div>
</th>
<th class="th">
<div>Additional Paid-in Capital </div>
<div>Avitide, Inc.</div>
</th>
<th class="th">
<div>Additional Paid-in Capital </div>
<div>FlexBiosys, Inc.</div>
</th>
<th class="th">
<div>Additional Paid-in Capital </div>
<div>Metenova Holding AB</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="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="text">&#160;<span></span>
</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">$ 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>
<td class="nump">$ 1,460,748<span></span>
</td>
<td class="text">&#160;<span></span>
</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,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="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="text">&#160;<span></span>
</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">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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">128,291<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">128,291<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits', window );">Issuance of common stock for debt conversion</a></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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 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="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits', window );">Issuance of common stock for debt conversion (in 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="nump">7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Exercise of stock options and vesting of stock units</a></td>
<td class="nump">3,879<span></span>
</td>
<td class="text">&#160;<span></span>
</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<span></span>
</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,876<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Exercise of stock options and vesting of stock units (in 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="nump">300,721<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions', window );">Issuance of commons stock pursuant to the acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 145<span></span>
</td>
<td class="nump">$ 82,968<span></span>
</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<span></span>
</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">$ 145<span></span>
</td>
<td class="nump">$ 82,966<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Issuance of commons stock pursuant to the acquisition, (in 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="nump">271,096<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Tax withholding on vesting of restricted stock</a></td>
<td class="num">(2,897)<span></span>
</td>
<td class="text">&#160;<span></span>
</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<span></span>
</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">(2,897)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Tax withholding on vesting of restricted stock (in 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="num">(11,204)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">27,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>
<td class="text">&#160;<span></span>
</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">27,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>
<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="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2021</a></td>
<td class="nump">1,750,067<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 553<span></span>
</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,572,340<span></span>
</td>
<td class="text">&#160;<span></span>
</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">(16,886)<span></span>
</td>
<td class="nump">194,060<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 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="nump">55,321,457<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax', window );">Translation adjustment</a></td>
<td class="num">(18,971)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">(18,971)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">185,959<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">185,959<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits', window );">Issuance of common stock for debt conversion</a></td>
<td class="num">(6)<span></span>
</td>
<td class="text">&#160;<span></span>
</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<span></span>
</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">(7)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits', window );">Issuance of common stock for debt conversion (in 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="nump">21<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Exercise of stock options and vesting of stock units</a></td>
<td class="nump">3,707<span></span>
</td>
<td class="text">&#160;<span></span>
</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<span></span>
</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,704<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Exercise of stock options and vesting of stock units (in 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="nump">326,192<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Tax withholding on vesting of restricted stock</a></td>
<td class="num">(17,018)<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ (1)<span></span>
</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">(17,017)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Tax withholding on vesting of restricted stock (in 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="num">(89,972)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">27,316<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">27,316<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2022</a></td>
<td class="nump">1,910,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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 556<span></span>
</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,547,266<span></span>
</td>
<td class="text">&#160;<span></span>
</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">(34,394)<span></span>
</td>
<td class="nump">397,272<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance (Accounting Standards Update 2020-06) at Dec. 31, 2022</a></td>
<td class="num">(21,817)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">(39,070)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,253<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2022</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">55,557,698<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax', window );">Translation adjustment</a></td>
<td class="num">(17,508)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">(17,508)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">41,577<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">41,577<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits', window );">Issuance of common stock for debt conversion</a></td>
<td class="num">(13)<span></span>
</td>
<td class="text">&#160;<span></span>
</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<span></span>
</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">(13)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits', window );">Issuance of common stock for debt conversion (in 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="nump">8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Exercise of stock options and vesting of stock units</a></td>
<td class="nump">1,076<span></span>
</td>
<td class="text">&#160;<span></span>
</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<span></span>
</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,073<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Exercise of stock options and vesting of stock units (in 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="nump">251,886<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">(14,386)<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ (1)<span></span>
</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">(14,385)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in 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="num">(92,090)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions', window );">Issuance of commons stock pursuant to the acquisition</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,465<span></span>
</td>
<td class="nump">$ 8,104<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1<span></span>
</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,465<span></span>
</td>
<td class="nump">$ 8,103<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Issuance of commons stock pursuant to the acquisition, (in 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="nump">31,415<span></span>
</td>
<td class="nump">52,299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Tax withholding on vesting of restricted stock</a></td>
<td class="num">(13,227)<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ (1)<span></span>
</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">(13,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Tax withholding on vesting of restricted stock (in 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="num">(77,759)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment', window );">Issuance of common stock pursuant to the Avitide, Inc. contingent consideration earnout payment</a></td>
<td class="nump">7,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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 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="nump">7,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>
<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="Show.showAR( this, 'defref_rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments', window );">Issuance of common stock pursuant to the Avitide, Inc.contingent consideration earnout payment (in 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="nump">42,621<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">25,575<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">25,575<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities', window );">Convertible note modification</a></td>
<td class="nump">2,791<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,791<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DeferredTaxImpactOnConversionFeature', window );">Deferred tax impact on conversion feature</a></td>
<td class="num">(651)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">(651)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2023</a></td>
<td class="nump">1,971,203<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 558<span></span>
</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,569,227<span></span>
</td>
<td class="text">&#160;<span></span>
</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">(37,431)<span></span>
</td>
<td class="nump">$ 438,849<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2023</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">55,766,078<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax', window );">Translation adjustment</a></td>
<td class="num">$ (3,037)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ (3,037)<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_DeferredTaxImpactOnConversionFeature">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax impact on conversion feature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DeferredTaxImpactOnConversionFeature</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_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock Issued During Period, shares,contingent consideration earnout payments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments</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_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock issued during period, value,contingent consideration earnout payment</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482736/825-10-45-5A<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued during the period pursuant to acquisitions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_StockIssuedDuringPeriodSharesShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number, 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued pursuant to acquisitions during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The gross value of stock issued during the period upon the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_StockIssuedDuringPeriodValueConversionOfUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_StockIssuedDuringPeriodValueShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-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_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202006Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202006Member</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>17
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291483820208">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">$ 41,577<span></span>
</td>
<td class="nump">$ 185,959<span></span>
</td>
<td class="nump">$ 128,291<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfInventoryStepUp', window );">Inventory step-up charges</a></td>
<td class="nump">1,238<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,130<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">68,085<span></span>
</td>
<td class="nump">50,985<span></span>
</td>
<td class="nump">38,447<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfDebtDiscountPremium', window );">Amortization of debt discount and issuance costs</a></td>
<td class="nump">2,448<span></span>
</td>
<td class="nump">1,815<span></span>
</td>
<td class="nump">11,530<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">25,575<span></span>
</td>
<td class="nump">27,316<span></span>
</td>
<td class="nump">27,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="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes, net</a></td>
<td class="nump">2,317<span></span>
</td>
<td class="num">(1,352)<span></span>
</td>
<td class="nump">6,517<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Contingent consideration</a></td>
<td class="num">(30,569)<span></span>
</td>
<td class="num">(28,729)<span></span>
</td>
<td class="nump">5,865<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_NoncashInterestIncome', window );">Non-cash interest income</a></td>
<td class="num">(2,023)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="nump">12,676<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNoncashIncomeExpense', window );">Other</a></td>
<td class="nump">1,231<span></span>
</td>
<td class="num">(100)<span></span>
</td>
<td class="nump">864<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(3,312)<span></span>
</td>
<td class="num">(3,596)<span></span>
</td>
<td class="num">(46,523)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="nump">40,973<span></span>
</td>
<td class="num">(57,204)<span></span>
</td>
<td class="num">(89,781)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other assets</a></td>
<td class="num">(13,030)<span></span>
</td>
<td class="nump">2,396<span></span>
</td>
<td class="num">(10,192)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset', window );">Operating lease right of use assets</a></td>
<td class="nump">14,059<span></span>
</td>
<td class="num">(24,549)<span></span>
</td>
<td class="num">(4,315)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="num">(461)<span></span>
</td>
<td class="num">(231)<span></span>
</td>
<td class="nump">430<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(9,803)<span></span>
</td>
<td class="num">(8,197)<span></span>
</td>
<td class="nump">19,523<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="num">(27,921)<span></span>
</td>
<td class="num">(2,019)<span></span>
</td>
<td class="nump">23,196<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="num">(9,229)<span></span>
</td>
<td class="nump">28,623<span></span>
</td>
<td class="nump">6,958<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities', window );">Long-term liabilities</a></td>
<td class="nump">87<span></span>
</td>
<td class="nump">966<span></span>
</td>
<td class="num">(1,424)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Total cash provided by operating activities</a></td>
<td class="nump">113,918<span></span>
</td>
<td class="nump">172,083<span></span>
</td>
<td class="nump">119,016<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireHeldToMaturitySecurities', window );">Purchase of marketable securities held to maturity</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(100,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Redemption of marketable securities</a></td>
<td class="nump">102,323<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireSoftware', window );">Additions to capitalized software costs</a></td>
<td class="num">(2,766)<span></span>
</td>
<td class="num">(3,512)<span></span>
</td>
<td class="num">(4,187)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Acquisitions, net of cash acquired</a></td>
<td class="num">(186,642)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(149,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="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property, plant and equipment</a></td>
<td class="num">(36,222)<span></span>
</td>
<td class="num">(84,834)<span></span>
</td>
<td class="num">(67,089)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireIntangibleAssets', window );">Purchase of intellectual property</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(45,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForProceedsFromOtherInvestingActivities', window );">Other investing activities</a></td>
<td class="nump">32<span></span>
</td>
<td class="nump">110<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Total cash used in investing activities</a></td>
<td class="num">(123,275)<span></span>
</td>
<td class="num">(233,236)<span></span>
</td>
<td class="num">(221,169)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchase of common stock</a></td>
<td class="num">(14,386)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Proceeds from issuance of 2023 Convertible Senior Notes</a></td>
<td class="nump">290,094<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="nump">1,076<span></span>
</td>
<td class="nump">3,707<span></span>
</td>
<td class="nump">3,879<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payment of debt issuance costs</a></td>
<td class="num">(7,253)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Payment of tax withholding obligation on vesting of restricted stock</a></td>
<td class="num">(13,227)<span></span>
</td>
<td class="num">(17,018)<span></span>
</td>
<td class="num">(2,897)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment of earnout consideration</a></td>
<td class="num">(7,298)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromPaymentsForOtherFinancingActivities', window );">Other financing activities</a></td>
<td class="num">(45)<span></span>
</td>
<td class="num">(26)<span></span>
</td>
<td class="num">(21)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Total cash provided by (used in) financing activities</a></td>
<td class="nump">248,961<span></span>
</td>
<td class="num">(13,337)<span></span>
</td>
<td class="nump">961<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of exchange rate changes on cash and cash equivalents</a></td>
<td class="num">(11,739)<span></span>
</td>
<td class="num">(5,866)<span></span>
</td>
<td class="num">(12,286)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash and cash equivalents</a></td>
<td class="nump">227,865<span></span>
</td>
<td class="num">(80,356)<span></span>
</td>
<td class="num">(113,478)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, beginning of period</a></td>
<td class="nump">523,458<span></span>
</td>
<td class="nump">603,814<span></span>
</td>
<td class="nump">717,292<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, end of period</a></td>
<td class="nump">751,323<span></span>
</td>
<td class="nump">523,458<span></span>
</td>
<td class="nump">603,814<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes paid</a></td>
<td class="nump">26,963<span></span>
</td>
<td class="nump">34,365<span></span>
</td>
<td class="nump">16,515<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid</a></td>
<td class="nump">988<span></span>
</td>
<td class="nump">1,033<span></span>
</td>
<td class="nump">1,066<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Assets acquired under operating leases</a></td>
<td class="nump">4,335<span></span>
</td>
<td class="nump">29,126<span></span>
</td>
<td class="nump">85,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="Show.showAR( this, 'defref_us-gaap_StockIssued1', window );">Fair value of shares of common stock issued for acquisitions</a></td>
<td class="nump">13,569<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">82,968<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts', window );">Fair value of shares of common stock issued for contingent consideration earnouts</a></td>
<td class="nump">7,229<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts', window );">Acquisition date fair value of contingent consideration earnouts</a></td>
<td class="nump">6,640<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">88,373<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesIssued1', window );">Issuance of 2023 Notes in exchange of 2019 Notes</a></td>
<td class="nump">42,179<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ExtinguishmentOfDebtAmount', window );">Extinguished 2019 Notes</a></td>
<td class="nump">$ 29,634<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 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_AcquisitionDateFairValueOfContingentConsiderationEarnouts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Acquisition date fair value of contingent consideration earnouts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts</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_AmortizationOfInventoryStepUp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortization of inventory step up.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AmortizationOfInventoryStepUp</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_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of shares of common stock issued for contingent consideration earnouts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts</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_IncreasedecreaseInOperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in operating lease right of use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_NoncashInterestIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Noncash interest income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_NoncashInterestIncome</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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfDebtDiscountPremium">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-1A<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.8)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ExtinguishmentOfDebtAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount of debt extinguished.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ExtinguishmentOfDebtAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481303/470-50-40-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481303/470-50-40-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInOtherNoncurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in noncurrent operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesIssued1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fair value of notes issued in noncash investing and financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesIssued1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PaymentForContingentConsiderationLiabilityFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (f)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PaymentsForProceedsFromOtherInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash (inflow) outflow from investing activities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForProceedsFromOtherInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDebtIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDebtIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_PaymentsToAcquireHeldToMaturitySecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow through purchase of long-term held-to-maturity securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-11<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireHeldToMaturitySecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PaymentsToAcquireIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireSoftware">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ProceedsFromConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromPaymentsForOtherFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromPaymentsForOtherFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssued1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fair value of stock issued in noncash financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291485370256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">$ 41,577<span></span>
</td>
<td class="nump">$ 185,959<span></span>
</td>
<td class="nump">$ 128,291<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291476451632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_MtrlTermsOfTrdArrTextBlock', window );">Material Terms of Trading Arrangement</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Rule 10b5-1 Trading Plans</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2023, </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Tony J. Hunt</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Chief Executive Officer</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">adopted</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> a trading plan intended to satisfy Rule 10b5-1(c) under the Securities Exchange Act of 1934 ("Exchange Act") on </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">November 9, 2023</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to sell up to </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">78,216</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of our common stock between March 8, 2024 and </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">November 15, 2024</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the date this plan expires. The trading plan will cease upon the earlier of November 15, 2024 or the sale of all shares subject to the trading plan.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2023, none of our other directors or officers (as defined in Rule 16a-1(f) of the Exchange Act) </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">adopted</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">modified</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, or </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">terminated</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> a Rule 10b5-1 trading arrangement.</span><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_IndividualAxis=rgen_TonyJHuntMember', window );">Tony J. Hunt</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</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="Show.showAR( this, 'defref_ecd_TrdArrIndName', window );">Name</a></td>
<td class="text">Tony J. Hunt<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrIndTitle', window );">Title</a></td>
<td class="text">Chief Executive Officer<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">true<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrAdoptionDate', window );">Adoption Date</a></td>
<td class="text">November 9, 2023<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrTerminationDate', window );">Termination Date</a></td>
<td class="text">P252D<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrDuration', window );">Arrangement Duration</a></td>
<td class="text">372 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrSecuritiesAggAvailAmt', window );">Aggregate Available</a></td>
<td class="nump">78,216<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_TrdArrExpirationDate', window );">Expiration Date</a></td>
<td class="text">November 15, 2024<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_IndividualAxis=rgen_OtherDirectorsOrOfficersMember', window );">Other directors or officers</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</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="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_Rule10B51ArrModifiedFlag', window );">Rule 10b5-1 Arrangement Modified</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_MtrlTermsOfTrdArrTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_MtrlTermsOfTrdArrTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TradingArrByIndTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TradingArrByIndTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrAdoptionDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrAdoptionDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrDuration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph C<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrDuration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli: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_ecd_TrdArrIndName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrIndName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrIndTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrIndTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrSecuritiesAggAvailAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrSecuritiesAggAvailAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli: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_ecd_TrdArrTerminationDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrTerminationDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_Rule10B51ArrModifiedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Rule 10b5 1 Arr modified flag.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_Rule10B51ArrModifiedFlag</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: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_rgen_TrdArrExpirationDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trd Arr expiration date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_TrdArrExpirationDate</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_ecd_IndividualAxis=rgen_TonyJHuntMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_IndividualAxis=rgen_TonyJHuntMember</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_ecd_IndividualAxis=rgen_OtherDirectorsOrOfficersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_IndividualAxis=rgen_OtherDirectorsOrOfficersMember</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>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480484448">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NatureOfOperations', window );">Organization and Nature of Business</a></td>
<td class="text"><div style="display:flex;margin-top:12pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">1.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Organization and Nature of Business </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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, chromatography, process analytics and proteins. See Part I, Item 1. &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business - Our Products&#8221;, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of this report for additional information related to the Company's products. 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;), its Chief Executive Officer (&#8220;CEO&#8221;), reviews financial information presented on a consolidated basis for purposes of allocating resources and evaluating financial performance. See Note 2, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Summary of Significant Accounting Policies &#8211; Segment Reporting,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for more information on the Company&#8217;s segment.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A majority of our </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> manufacturing sites are located in the United States (California, Massachusetts, New Hampshire, New Jersey, New York and Texas). Outside the United States, we have manufacturing sites in Estonia, France, Germany, Ireland, the Netherlands and Sweden.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 U.S. Food and Drug Association 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//275/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480546128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">2.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Summary of Significant Accounting Policies </span></div></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Use of Estimates</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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, contingent consideration, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, estimates related to the fair value of the conversion features of the convertible notes for purposes of assessing whether debt extinguishment or modification accounting applies to the Company&#8217;s debt exchange, stock-based compensation, tax reserves and recoverability of the Company&#8217;s net deferred tax assets and related valuation allowance.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Basis of Presentation</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All significant intercompany accounts and transactions have been eliminated in consolidation. Certain prior year balances have changed to reflect current year presentation.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Foreign Currency</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 include adjustments related to the Company&#8217;s various intercompany loans with foreign subsidiaries. Intercompany loans determined to be permanent are remeasured at each period end and included in accumulated other comprehensive loss on the consolidated balance sheets. Intercompany loans with foreign subsidiaries determined to be repayable are remeasured at each period end and included in other income (expenses) on the consolidated statements of comprehensive income.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenue Recognition</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 sciences and biopharmaceutical industries. Under Accounting Standard Codification No. (&#8220;ASC&#8221;) 606, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenue from Contracts with Customers,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 606-10-32-18, 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 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Risks and Uncertainties</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cash, Cash Equivalents and Restricted Cash</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 31, 2023 and 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">751.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">523.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">603.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Investment Securities</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We classify our investment securities in one of three categories: held to maturity, trading, or available for sale. Our investment portfolio at December 31, 2022 consisted of an investment in U.S. treasury bills classified as held to maturity which was included in the Company's consolidated balance sheets under marketable securities held to maturity. These marketable securities matured in June 2023 and there are no comparable investments as of December 31, 2023. Securities that we have the positive intent and ability to hold to maturity are classified as held to maturity and stated at amortized cost in the consolidated balance sheets. Management determines the appropriate classification of securities at the time of purchase based upon management's intent with regards to such investment and reevaluates such designation as of each balance sheet date. The Company's investment policy requires that it only invest in high-rated securities and limit its exposure to any single-user. There were no realized or unrealized gains or losses on investments recorded as of December 31, 2023, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company classifies marketable securities as short-term when they have remaining contractual maturities of one year or less from the balance sheet date. The Company periodically assesses its marketable securities, if any, for impairment or credit losses.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measurement</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 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:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:8.08%;"></td>
        <td style="width:91.92%;"></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
        <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 1  &#8211;</span></p></td>
        <td style="text-indent:5pt;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that the Company has the ability to access.</span></p></td>
       </tr>
       <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:middle;"><p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="text-indent:5pt;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
        <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 2  &#8211;</span></p></td>
        <td style="text-indent:5pt;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities.</span></p></td>
       </tr>
       <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:middle;"><p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="text-indent:5pt;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
        <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 3  &#8211;</span></p></td>
        <td style="text-indent:5pt;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on inputs that are unobservable and significant to the overall fair value measurement.</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Allowance for credit losses</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Inventories</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories relate to the Company&#8217;s bioprocessing business. The Company values inventory at cost or, if lower, net realizable value, using the first-in, first-out 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, work-in-process and finished products. The Company writes 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 consolidated financial statements, there have been no material adjustments related to a revised estimate of inventory valuations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Work-in-process and finished products inventories consist of material, labor, outside processing costs and manufacturing overhead.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Lease Accounting</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company adopted Accounting Standards Update No. (&#8220;ASU&#8221;) 2016-02, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Leases (Topic 842)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8221; (&#8220;ASC 842&#8221;) as of January 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 right-of-use asset and liability on its consolidated balance sheets 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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A lease qualifies as a finance lease if any of the following criteria are met at the inception of the lease: (i) there is a transfer of ownership of the leased asset to the Company by the end of the lease term, (ii) the Company holds an option to purchase the leased asset that it is reasonably certain to exercise, (iii) the lease term is for a major part of the remaining economic life of the leased asset, (iv) the present value of the sum of lease payments equals or exceeds substantially all of the fair value of the leased asset, or (v) 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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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) a portion that is recorded as imputed interest expense and (ii) a portion that reduces the finance liability associated with the lease.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company does not separate lease and non-lease 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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 sheets.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 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 certain 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;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued Liabilities</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 consolidated financial statements.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Deferred taxes are determined based on the difference between the consolidated financial statements 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 &#8220;more-likely-than-not&#8221; 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. The Company is subject to a territorial tax system under the Tax Cuts and Jobs Act enacted in December 2017, in which the Company is required to provide for tax on Global Intangible Low-Taxed 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.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Property, Plant &amp; Equipment</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property, plant &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:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;">
         <tr style="visibility:collapse;">
          <td style="width:45.7%;"></td>
          <td style="width:1%;"></td>
          <td style="width:53.3%;"></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:bottom;"><p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Classification</span></p></td>
          <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated Useful Life</span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Buildings</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Thirty years</span></span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Leasehold improvements</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_833e71a6-5eeb-49e0-a78c-32c503c839cf;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Shorter of the term of the lease or estimated useful life</span></span></span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_5228bde0-a8f9-4d0e-8b0f-d7ad6cd002e0;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">twelve years</span></span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Furniture, fixtures and office equipment</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_f687d5a1-4081-4400-8f1a-6ce4fa87b8cf;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">eight years</span></span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Computer hardware and software</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_254e1113-308c-468a-ae2c-284636e490d3;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">seven years</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;or estimated useful life</span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vehicles</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Five years</span></span></p></td>
         </tr>
        </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Upon disposal of property, plant &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.</span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Earnings Per Share</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company reports earnings per share (&#8220;EPS&#8221;) in accordance with ASC 260, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">"Earnings Per Share," </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">which establishes standards for computing and presenting EPS. Basic EPS is computed by dividing net income available to common shareholders by the weighted average number of common shares outstanding during the period. Diluted EPS is computed by dividing net income available to common shareholders by the weighted-average number of common shares and dilutive common share equivalents outstanding during the period. Potential common share equivalents consist of restricted stock awards (including performance stock units) and the incremental common shares issuable upon the exercise of stock options and warrants. Under the treasury stock method, unexercised &#8220;in-the-money&#8221; 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.</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A reconciliation of basic and diluted weighted average share outstanding is as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
         <tr style="visibility:collapse;">
          <td style="width:57.477%;"></td>
          <td style="width:1.399%;"></td>
          <td style="width:1%;"></td>
          <td style="width:10.776%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.399%;"></td>
          <td style="width:1%;"></td>
          <td style="width:10.776%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.399%;"></td>
          <td style="width:1%;"></td>
          <td style="width:10.776%;"></td>
          <td style="width:1%;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except per share data)</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Numerator:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">185,959</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128,291</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive securities:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;Charges associated with convertible debt instruments, net of tax</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">387</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">186,346</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128,291</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Denominator:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average shares used in computing net income per<br/>&#160;&#160;&#160;share - basic</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,720</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,460</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,015</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive shares:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options and stock units</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">457</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">608</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">915</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible senior notes</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">181</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,360</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,253</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Dilutive effect of unvested performance stock units</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Dilutive potential common shares</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">657</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,995</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,249</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,377</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">57,455</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">57,264</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:5pt;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnings per share:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.75</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.35</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.33</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.74</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.24</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.24</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the dilutive impact for the Company's </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.375</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2024 (the &#8220; 2019 Notes&#8221;) and its </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.00</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2028 (the &#8220;2023 Notes&#8221;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 14, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for more information.</span></div></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the years ended December 31, 2023, 2022 and 2021, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">306,849</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">177,318</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares and </span><span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;">68,968</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares, respectively, 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 for years presented.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2019, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">287.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2019 Notes. As provided by the terms of the indenture underlying the 2019 Notes, prior to March 4, 2022, conversion of the 2019 Notes could have been settled in cash, shares of the Company&#8217;s common stock or a combination thereof, at the Company&#8217;s election. On March 4, 2022, we entered into the Second Supplemental Indenture for the 2019 Notes, which irrevocably elected to settle the conversion of the 2019 Notes using a combination of cash and shares of the Company's common stock, settling the par value of the 2019 Notes in cash and any excess conversion premium in shares. On December 14, 2023, the Company exchanged, in a privately negotiated exchange, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">309.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal amount of 2023 Notes for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">217.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal amount of 2019 Notes and issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">290.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount  of 2023 Notes for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">290.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash. Following the close of the Exchange Transaction, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">69.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in aggregate principal amount of 2019 Notes remains outstanding with terms unchanged.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As provided by the terms of the Second Supplemental Indenture underlying the 2019 Notes, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock. This means the Company will settle the par value of the 2019 Notes in cash and any excess conversion premium in shares. As mentioned in Note 14, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company adopted ASU 2020-06 effective January 1, 2022. Under ASU 2020-06, the Company is required to reflect the dilutive effect of the convertible securities by application of the &#8220;if-converted&#8221; method, which means the denominator of the EPS calculation would include the total number of shares assuming the 2019 Notes had been fully converted at the beginning of the period. Prior to March 4, 2022, the Company had the choice to settle the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">conversion </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of the 2019 Notes in cash, stock or a combination of the two. Therefore, from January 1, 2022 (the date the Company adopted ASU 2020-06) to March 4, 2022, the Company included </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,474,429</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares in the denominator of the EPS calculation, applying the if converted method. Subsequent to March 4, 2022, after the Second Supplemental Indenture became effective, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock, and from March 5, 2022 forward, only the excess premium will be settled with shares. Under the if-converted method of calculating dilutive shares, the Company was also required to exclude amortization of debt issuance costs and interest charges applicable to the convertible debt from the numerator of the dilutive EPS calculation for the period from January 1, 2022 to March 4, 2022, as if the interest on convertible debt was never recognized for that period. As a result, the Company excluded interest charges of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (net of tax) from the numerator and included </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,359,957</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares in the calculation of diluted earnings as the dilutive effect of the conversion premium for the year ended December 31, 2022. There were no comparable amounts included in 2023 or 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prior to the adoption of ASU 2020-06, the Company applied the provisions of ASC 260, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Earnings Per Share,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">subsection 10-45-44, to determine the diluted weighted average shares outstanding as it related to the conversion spread on its convertible notes. Accordingly, the par value of the 2019 Notes was not included in the calculation of diluted EPS, but the dilutive effect of the conversion premium was considered in the calculation of diluted EPS using the treasury stock method. The dilutive impact of the 2019 Notes was 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 was no dilution from the accreted principal of the 2019 Notes.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Segment Reporting</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Operating segments are components of an enterprise that engage in business activities for which discrete financial information is available and regularly reviewed by the CODM in deciding how to allocate resources and assess performance. Our CEO has been identified as our CODM.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company views its operations, makes decisions regarding how to allocate resources and manages its business as </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">one</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents product revenues by product line:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:59.272%;"></td>
          <td style="width:2%;"></td>
          <td style="width:1%;"></td>
          <td style="width:16.363%;"></td>
          <td style="width:1%;"></td>
          <td style="width:2%;"></td>
          <td style="width:1%;"></td>
          <td style="width:16.363%;"></td>
          <td style="width:1%;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span><span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;">(1)</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Filtration products</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">347,781</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">495,930</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Chromatography products</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126,629</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">131,680</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Process analytics products</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,820</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">53,512</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proteins products</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">103,463</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">114,320</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,688</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,741</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total product revenue</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">638,381</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,183</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><p style="margin-left:4.667%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.75pt solid;margin-right:84.667%;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) from April 17, 2023, as well as Metenova Holding AB (&#8220;Metenova&#8221;) from October 2, 2023.</span></div></div><div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(2)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2021 revenue for filtration products includes revenue related to Polymem S.A. (&#8220;Polymem&#8221;) from July 1, 2021, as well as BioFlex Solutions LLC (&#8220;BioFlex&#8221;) and Newton T&amp;M Corp. (&#8220;NTM&#8221;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#8220;Avitide&#8221;) from September 20, 2021 through December 31, 2021. </span></div></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue from filtration products includes the XCell ATF</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> systems and consumables as well as the KrosFlo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and SIUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> filtration products. Revenue from chromatography products includes the OPUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> chromatography pre-packed columns, chromatography resins and ELISA test kits. Revenue from process analytics products includes the SoloVPE</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, FlowVPE</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> RPM</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and FlowVPX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total revenue by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented (based on the location of the customer):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:57.409%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:11.177999999999999%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:11.177999999999999%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:11.238%;"></td>
          <td style="width:1%;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue by customers' geographic locations:</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">40</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC/Other</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
        </table><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:66.993%;"></td>
          <td style="width:1.62%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.883000000000001%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.62%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.883000000000001%;"></td>
          <td style="width:1%;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets by geographic locations:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,371,208</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,209,244</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">426,034</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">287,543</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,169</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,871</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets by geographic location</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,824,411</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,524,658</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s long-lived assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:66.993%;"></td>
          <td style="width:1.62%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.883000000000001%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.62%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.883000000000001%;"></td>
          <td style="width:1%;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-lived assets by geographic locations:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">278,033</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">275,151</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,280</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">38,541</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,919</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,819</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total long-lived assets by geographic location</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">324,232</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">316,511</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table></div></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentrations of Credit Risk and Significant Customers</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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, limit its credit exposure to any one issuer (with the exception of U.S. treasury obligations) and type of instrument is limited. At December 31, 2023, the Company had no investments associated with foreign exchange contracts, options contracts or other foreign hedging arrangements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 write-off 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> revenue from customers that represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% or more of the Company's total revenue for the year ended December 31, 2023 or 2022. Revenue from Pfizer Inc. accounted for </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of total revenue for the year ended December 31, 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">No accounts receivable balance from a specific customer represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% or more of the Company's total trade accounts receivable at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Significant accounts receivable balances representing </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">or more of the Company&#8217;s total</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">trade </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">accounts receivable balances at December 31, 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> came from our accounts receivable balance outstanding with Purolite, an Ecolab Inc. company (&#8220;Purolite&#8221;), which was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">12.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the Company's total trade accounts receivable balance.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations, Goodwill and Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 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, 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. These changes in the fair value of contingent consideration are recorded to contingent consideration in the Company&#8217;s consolidated statements of comprehensive income. For the years ended December 31, 2023 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, we recorded a decrease of $</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">30.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">28.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively, to the estimated contingent consideration obligation, primarily related to the acquisition of Avitide (the &#8220;Avitide Acquisition&#8221;).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 after-tax cash flows attributable to these assets over their respective useful lives and then discounting these after-tax 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. The Company believes the estimated purchased customer relationships, developed technologies, trademark/tradename, patents, non-compete agreements 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 such assets.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Goodwill is not amortized and is tested for impairment at least annually at the reporting unit level. The Company operates as one reporting unit as of the goodwill impairment measurement date of December 31, 2023. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the qualitative assessment of the Company&#8217;s </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">one</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> reporting unit during the 2023 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 31, 2023. 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. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment to goodwill and therefore </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment charge recorded for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company has historically tested for impairment on its goodwill annually as of its measurement date of December 31st pursuant to company policy. Subsequent to the 2023 annual impairment test, the Company voluntarily changed its annual impairment assessment date from December 31st to October 1st, the first day of the Company's fourth quarter, beginning on </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">October 1, 2024</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The change is being made to better align the annual impairment assessment date with the Company's annual planning and budgeting process as well as long-term planning and forecasting process.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company has determined this voluntary change in accounting principle is preferable and will not impact its consolidated financial statements nor is it being done to accelerate, avoid or trigger an impairment charge. This change is not going to be applied retrospectively as it is</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">impracticable </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to do so because retrospective application would require application of significant estimates and assumptions with the use of hindsight. Accordingly, the change will be applied prospectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 (&#8220;R&amp;D&#8221;) 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 existed 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 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Indefinite-lived intangible assets are reviewed for impairment at least annually. There has been </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment of our intangible assets for the periods presented.</span></p></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Based Compensation</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company measures stock-based compensation cost at the grant date based on the estimated fair value of the award and recognizes it as an 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company uses the Black-Scholes option pricing model to calculate the fair value of share-based awards on the grant date. The following assumptions are used in calculating the fair value of share-based awards:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected term</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected volatility</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Risk-free interest rate</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The risk-free interest rate is the implied yield available on U.S. treasury zero-coupon issues with a remaining term equal to the option&#8217;s expected term on the grant date.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected dividend yield</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#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. Accordingly, the Company uses an expected dividend yield of zero to calculate the grant-date fair value of a stock option.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Estimated forfeiture rates</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The Company has applied, based on an analysis of its historical forfeitures, annual forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-employee members of the Board of Directors (&#8220;Board&#8221;) to all unvested stock options as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Advertising Costs</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company expenses advertising costs as they are incurred. Advertising expense for the years ended December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></p></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recent Accounting Standards Updates</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We consider the applicability and impact of all ASUs and other accounting guidance 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 guidance that we feel may be applicable to the Company are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recently Issued Accounting Guidance &#8211; Adopted During the Fiscal Year</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2023, the U.S. Securities and Exchange Commission (the &#8220;SEC&#8221;) adopted the final rule under SEC Release No. 33-11216, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cybersecurity Risk Management, Strategy, Governance, and Incident Disclosure,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> requiring current reporting about material cybersecurity incidents and annual disclosures on management&#8217;s processes for assessing, identifying, and managing material cybersecurity risks, the material impacts of cybersecurity threats and previous cybersecurity incidents, the Board's oversight of cybersecurity risks, and management&#8217;s role and expertise in assessing and managing material cybersecurity risks. SEC Release No. 33-11216 was effective for us during the third quarter of 2023. The adoption of this guidance did not have a material impact on the Company&#8217;s consolidated financial statements and disclosures.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2022, the SEC adopted the final rule under SEC Release No. 33-11138,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> "Insider Trading Arrangements and Related Disclosures</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">," which requires new disclosures regarding insider trading policies and procedures, the use of Rule 10b5-1 plans by directors and officers, and stock option grants issued in close proximity to the release of material nonpublic information. SEC Release No. 33-11138 was effective for us for our second quarter of 2023, and did not have a material impact on our consolidated financial statements and disclosures.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recently Issued Accounting Guidance &#8211; Not Yet Adopted</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2023, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued ASU 2023-09, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes (Topic 740) - Improvements to Income Tax Disclosures.&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ASU 2023-09 enhances the transparency and decision usefulness of income tax disclosures by requiring consistent categories and greater disaggregation of information in the rate reconciliation and income taxes paid disaggregated by jurisdiction. ASU 2023-09 will be effective for the Company in its income tax disclosure included in its 2025 Annual Report on Form 10-K and will be applied on a prospective basis. However, retrospective application is permitted. Early adoption is also permitted. Besides a change in income tax disclosures, the Company does not expect the adoption of ASU 2023-09 to have a material impact on its consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">    </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In November 2023, the FASB issued ASU 2023-07, &#8220;S</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">egment Reporting (Topic 820) - Improvements to Reportable Segment Disclosures.&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ASU </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2023-07 will improve reportable segment disclosure requirements, primarily through enhanced annual and interim disclosures about significant segment expenses that are regularly provided to the CODM. The disclosure required under  ASU 2023-07 are also required for public entities with a single reportable segment. ASU 2023-07 will be effective for the Company for annual periods beginning on January 1, 2024 and interim periods beginning on January 1, 2025. The amendments of this guidance apply retrospectively to all prior periods presented in the consolidated financial statements. Early adoption is</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">permitted. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Besides presentation in the segment footnote for its interim reporting, the Company does not expect the adoption of ASU 2023-07 to have a material impact on its consolidated financial statements.</span></p></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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291482741520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">Fair Value Measurements</a></td>
<td class="text"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">3.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Fair Value Measurements</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cash, Cash Equivalents and Marketable Securities Held to Maturity</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the Company's cash, cash equivalents and marketable securities held to maturity as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:95.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:46.731%;"></td>
        <td style="width:1.78%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.538%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.78%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.538%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.78%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.538%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.78%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.538%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized<br/>&#160;Costs</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Gains</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Losses</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash and cash equivalents:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and money market funds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash and cash equivalents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized <br/>Cost</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Gains</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Losses</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash and cash equivalents:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and money market funds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash and cash equivalents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Marketable securities held to maturity:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">U.S. treasury bills - short-term</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,299</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,323</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash, cash equivalents and marketable securities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">623,757</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">623,781</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2022, the Company purchased $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of 6-month U.S. treasury bills with </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the positive intent and ability to hold them until maturity. Therefore, the Company classified this investment as held to maturity and stated it at amortized cost on the consolidated balance sheets. There is no comparable investment as of December 31, 2023.</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The amortized cost and fair value of the Company's held to maturity securities by contractual maturity at December 31, 2022 are summarized below. There were no comparable investments as of December 31, 2023:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:56.949%;"></td>
        <td style="width:2.699%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.477%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.699%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.477%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.699%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized<br/>&#160;Costs</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Maturity of one year or less</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,299</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,323</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;">
        <td style="background-color:#cff0fc;text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,299</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,323</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measured on a Recurring Basis</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Financial assets and financial liabilities measured at fair value on a recurring basis consist of the following as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:47.819%;"></td>
        <td style="width:1.24%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.804%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.24%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.804%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.24%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.804%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.24%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.804%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 1</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 2</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 3</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Assets:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Money market accounts</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">658,574</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">658,574</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Liabilities:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Short-term contingent consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,983</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,983</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-term contingent consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,070</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,070</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 1</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 2</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 3</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Assets:</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Money market accounts</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">343,929</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">343,929</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Liabilities:</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Short-term contingent consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,950</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,950</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-term contingent consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">51,559</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">51,559</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Contingent Consideration &#8211; Earnout</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023, the maximum amount of future contingent consideration (undiscounted) that the Company could be required to pay in connection with each of the completed acquisitions is; $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">125.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million over a three-year earnout period for Avitide, which was acquired in September 2021 and for which the earnout periods run from January 1, 2022 through December 31, 2024; $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">42.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million over a two-year earnout period for FlexBiosys, which was acquired in April 2023 and for which the earnout periods run from January 1, 2023 through December 31, 2024; and approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million over a one-year earnout period for Metenova, which was acquired in October 2023 and for which the earnout period runs from January 1, 2024 through December 31, 2024. See Note 4, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquisitions&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to this report for more information on the contingent consideration earnouts.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2023, expected results and change in market inputs used to calculate the discount rate, resulted in a decrease in amounts reported as of December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. </span><span style="font-size:12pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A reconciliation of the change in fair value of contingent consideration &#8211; earnout is included in the following table (amounts in thousands):</span></span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:78.56%;"></td>
        <td style="width:2.1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.34%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2022</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65,509</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition date fair value of contingent consideration earnouts</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,640</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of contingent consideration earnouts</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,527</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Decrease in fair value of contingent consideration earnouts</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,569</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,053</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The recurring Level 3 fair value measurement of our contingent consideration &#8211; earnout that we expect to be required to settle our 2023, 2024 and 2025 contingent consideration obligation for Avitide, FlexBiosys and Metenova include the following significant unobservable inputs (amounts in thousands, except percent data):</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:18.524%;"></td>
        <td style="width:1.74%;"></td>
        <td style="width:1.08%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.903%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.163%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:16.383%;"></td>
        <td style="width:1.74%;"></td>
        <td style="width:11.942%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:13.283%;"></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Contingent Consideration Earnout</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="3" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value as of<br/>&#160;December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Valuation Technique</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Unobservable Input</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Range</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted Average</span><span style="color:#000000;top:-4.221pt;white-space:pre-wrap;font-weight:bold;font-size:6.03pt;position:relative;min-width:fit-content;">(1)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability of</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Success</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Commercialization-based payments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">20,094</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Monte Carlo<br/>Simulation</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.8</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.9</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.9</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Volatility</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12.5</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">24.6</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.9</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue and Volume-<br/>based payments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,454</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Monte Carlo<br/>Simulation</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue &amp; Volume<br/>Discount Rate</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.5</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9.3</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.3</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.8</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.2</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.1</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability of<br/>&#160;Success</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Manufacturing line expansions</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,505</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability-weighted present value</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.1</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.4</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.3</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">Unobservable inputs were weighted by the relative fair value of the contingent consideration liability.</span></div></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company estimates the fair value of the contingent consideration earnouts using a Monte Carlo simulation. Changes in the projected performance of the acquired business could result in a higher or lower contingent consideration obligation in the future.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measured on a Nonrecurring Basis</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2023, there were no re-measurements to fair value of financial assets and liabilities that are measured at fair value on a nonrecurring basis.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2019, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">287.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2019 Notes. Interest is payable </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">semi-annually</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> in arrears on January 15 and July 15 of each year. The 2019 Notes will mature on July 15, 2024, unless earlier converted or repurchased in accordance with their terms. At </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022, subsequent to the adoption of ASU 2020-06, the carrying value of the 2019 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">69.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">284.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively, net of unamortized debt issuance costs and the fair value of the 2019 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">109.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">452.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively. The fair value of the 2019 Notes is a Level 1 valuation and was determined based on the most recent trade activity of the 2019 Notes as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022. The 2019 Notes are discussed in more detail in Note 14, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to these consolidated financial statements.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On December 14, 2023, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">600.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2023 Notes in a private placement pursuant to separate, privately negotiated exchange and subscription agreements (the &#8220;Exchange and Subscription Agreements&#8221;) with a limited number of holders of its outstanding 2019 Notes and certain other qualified institutional buyers pursuant to Rule 144A under the Securities Act of 1933, as amended (&#8220;Securities Act&#8221;). Pursuant to the Exchange and Subscription Agreements, the Company exchanged $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">217.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of its 2019 Notes for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">309.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2023 Notes (the &#8220;Exchange Transaction&#8221;) and issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">290.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2023 Notes (the &#8220;Subscription Transactions&#8221;) for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">290.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash. At December 31, 2023, the carrying value of the 2023 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">510.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, net of unamortized debt issuance costs, and the fair value of the 2023 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">596.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The fair value of the 2023 Notes is a Level 1 valuation and was determined based on the most recent trade activity of the 2023 Notes as of December 31, 2023. The 2023 Notes are discussed in more detail in Note 14, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to these consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480411648">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract', window );"><strong>Business Combination and Asset Acquisition [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">Acquisitions</a></td>
<td class="text"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">4.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Acquisitions</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">2023 Acquisitions</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Metenova Holding AB</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On October 2, 2023, the Company's subsidiary, Repligen Sweden AB acquired Metenova from the former shareholders of Metenova (the &#8220;Metenova Seller&#8221;) pursuant to a Share Sale and Purchase Agreement (the &#8220;Share Purchase Agreement&#8221;), dated as of September 23, 2023 (such acquisition, the &#8220;Metenova Acquisition&#8221;), by and among Repligen Sweden AB, the Metenova Seller, and the Company, in its capacity as guarantor of the obligations of Repligen Sweden AB under the Share Purchase Agreement.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Metenova, which is headquartered in Molndal, Sweden, offers magnetic mixing and drive train technologies that are widely used by global biopharmaceutical companies and contract development and manufacturing organizations. The Metenova Acquisition further strengthens our fluid management portfolio with these products.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration Transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company accounted for the Metenova Acquisition as a purchase of business under ASC 805, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company engaged a third-party valuation firm to assist with the valuation of Metenova. Under the Share Purchase Agreement, all outstanding equity interests of Metenova were acquired for consideration with a value totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">172.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The Metenova Acquisition was funded through payment of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">164.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash, the issuance of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">52,299</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> unregistered shares of the Company's common stock totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and contingent consideration with an immaterial fair value.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of Metenova were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net liabilities acquired is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, the fair value of the intangible assets acquired is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">58.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and the residual goodwill is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">115.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The estimated consideration and preliminary purchase price information has been prepared using a preliminary valuation. 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 has incurred $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs associated with the Metenova Acquisition from the date of acquisition to December 31, 2023. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income in 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date. As of December 31, 2023, the purchase accounting for this acquisition had not been finalized. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period. Besides tax implications of the purchase price allocation, the final allocation may result in changes to other assets and liabilities.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p>
    <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
     <tr style="visibility:collapse;">
      <td style="width:80.236%;"></td>
      <td style="width:1.94%;"></td>
      <td style="width:1%;"></td>
      <td style="width:15.823%;"></td>
      <td style="width:1%;"></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,768</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,730</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,421</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">470</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">433</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">615</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,659</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44,377</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">939</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">787</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">115,778</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,432</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,934</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">275</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liability, long-term</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,481</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">255</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">172,600</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
     </tr>
    </table><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">115.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of Metenova into the Company. These synergies include operating efficiencies and strategic benefits projected to be achieved as a result of the Metenova Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the Metenova Acquisition and their estimated useful lives:</span></p>
    <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
     <tr style="visibility:collapse;">
      <td style="width:53.871%;"></td>
      <td style="width:1.82%;"></td>
      <td style="width:19.884%;"></td>
      <td style="width:1.82%;"></td>
      <td style="width:1%;"></td>
      <td style="width:20.604%;"></td>
      <td style="width:1%;"></td>
     </tr>
     <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
      <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
      <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,659</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44,377</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">939</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2 years</span></span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">787</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">58,762</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
    </table><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">FlexBiosys, Inc.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">April 17, 2023</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company completed its acquisition of all of the outstanding equity interests in FlexBiosys, pursuant to an Equity Purchase Agreement with FlexBiosys, TSAP Holdings Inc. (&#8220;NJ Seller&#8221;), Gayle Tarry and Stanley Tarry, as individuals (collectively with NJ Seller, the &#8220;FlexBiosys Sellers&#8221;), and Stanley Tarry, in his capacity as the representative of the FlexBiosys Sellers (the &#8220;FlexBiosys Acquisition&#8221;).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FlexBiosys, which is headquartered in Branchburg, New Jersey, offers expert design and custom manufacturing of single-use bioprocessing products and a comprehensive range of products that include bioprocessing bags, bottles, and tubing assemblies. These products will complement and expand our fluid management portfolio of offerings.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The FlexBiosys Acquisition was accounted for as a purchase of a business under ASC 805, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company engaged a third-party valuation firm to assist with the valuation of FlexBiosys. Under the terms of the EPA, all outstanding equity interests of FlexBiosys were acquired for consideration with a value totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">41.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The FlexBiosys Acquisition was funded through payment of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">29.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash, which includes $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million deposited in escrow for future payments, the issuance of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">31,415</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> unregistered shares of the Company's common stock totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and contingent consideration with fair value of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of FlexBiosys were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">14.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, the fair value of the intangible assets acquired is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">12.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and the residual goodwill is estimated to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">14.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The estimated consideration and preliminary purchase price information has been prepared using a preliminary valuation. 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 has incurred $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs associated with the FlexBiosys Acquisition from the date of acquisition to December 31, 2023 with $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the transaction and integration costs incurred during the three months ended December 31, 2023. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income in 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date. As of December 31, 2023, the purchase accounting for this acquisition had not been finalized. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period, which ends on April 17, 2024. The final allocation may result in changes to other assets and liabilities.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p>
    <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
     <tr style="visibility:collapse;">
      <td style="width:80.236%;"></td>
      <td style="width:1.94%;"></td>
      <td style="width:1%;"></td>
      <td style="width:15.823%;"></td>
      <td style="width:1%;"></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,090</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">683</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">667</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,034</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,537</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,530</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,860</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">220</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,321</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other long-term assets</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">136</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">314</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">39</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,498</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41,030</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
     </tr>
    </table><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2023, the Company recorded an immaterial net working capital adjustment related to the FlexBiosys Acquisition, which is included in goodwill in the table above.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">14.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of FlexBiosys into the Company. These synergies include operating efficiencies and strategic benefits projected to be achieved as a result of the FlexBiosys Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the FlexBiosys Acquisition and their estimated useful lives:</span></p>
    <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
     <tr style="visibility:collapse;">
      <td style="width:53.871%;"></td>
      <td style="width:1.82%;"></td>
      <td style="width:19.884%;"></td>
      <td style="width:1.82%;"></td>
      <td style="width:1%;"></td>
      <td style="width:20.604%;"></td>
      <td style="width:1%;"></td>
     </tr>
     <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
      <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
      <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12 years</span></span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,530</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16 years</span></span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,860</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4 years</span></span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5 years</span></span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">220</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
      <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,640</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
     </tr>
    </table><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">2021 Acquisitions</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">BioFlex Solutions LLC and Newton T&amp;M Corp.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On November 29, 2021, the Company entered into an Equity Purchase Agreement with BioFlex (&#8220;BioFlex EPA&#8221;), NTM and each of Ralph Meola and Jason Nisler, to acquire </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the outstanding securities of BioFlex and NTM (collectively, the &#8220;NTM Acquisition&#8221;). The transaction closed on December 16, 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">NTM, which is headquartered in Newton, New Jersey, is the parent company of BioFlex and focuses on manufacturing of products, while BioFlex, also headquartered in Newton, New Jersey, commercializes branded products to biotech customers. The NTM Acquisition complements and expands our filtration offering paths as the industry migrates to single-use flow paths solutions for monoclonal antibody (&#8220;mAb&#8221;), vaccine and cell and gene therapy (&#8220;C&amp;GT&#8221;) applications, with a focus on single-use fluid management components, including single-use clamps, adapters, end caps and hose assemblies. The NTM Acquisition streamlines and increases control over many components in our single-use supply chain which ultimately should drive reduced lead-times for Repligen customers in the coming years.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration Transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The NTM Acquisition was accounted for as a purchase of businesses under ASC 805, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Business Combinations&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Under the terms of the BioFlex EPA, all outstanding shares of capital stock of BioFlex were acquired for consideration with a value totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">31.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which includes $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million deposited into an escrow against which the Company may make claims for indemnification.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of BioFlex were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, the fair value of the intangible assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">17.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and the residual goodwill is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">9.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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 </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs associated with the NTM Acquisition from the date of acquisition to December 31, 2022, with $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs incurred in 2022 and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million incurred in 2021. The transaction and integration costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 final valuation. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended December 16, 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"></td>
        <td style="width:1.94%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.823%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,870</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,408</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">741</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,034</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,240</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,540</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">310</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">60</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,834</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax asset</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">224</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">450</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,030</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31,571</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During 2022, the Company recorded net working capital adjustments of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million related to pre-acquisition liabilities, which are included in goodwill and accrued liabilities in the table above.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">9.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of BioFlex and NTM into the Company. These synergies include certain operating efficiencies and strategic benefits projected to be achieved as a result of the NTM Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the NTM Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;"></td>
        <td style="width:1.82%;"></td>
        <td style="width:19.884%;"></td>
        <td style="width:1.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.604%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,240</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,540</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">310</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">60</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,150</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Avitide, Inc.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On September 16, 2021, the Company entered into an Agreement and Plan of Merger and Reorganization (&#8220;Avitide Merger Agreement&#8221;) with Avalon Merger Sub, Inc., a Delaware corporation and a wholly owned direct subsidiary of the Company, Avalon Merger Sub LLC, a Delaware limited liability company and a wholly owned direct subsidiary of the Company, Avitide, a Delaware corporation, and Shareholder Representative Services LLC, a Colorado limited liability company, solely in its capacity as the representative, agent and attorney-in-fact of Avitide's securityholders to purchase Avitide. The transaction closed on September 20, 2021, and on the terms set forth in the Avitide Merger Agreement.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Avitide, which is headquartered in Lebanon, New Hampshire, offers diverse libraries and leading technology in affinity ligand discovery and development resulting in best-in-class ligand discovery and development lead-times. The acquisition gives the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company a new platform for affinity resin development, including C&amp;GT, and advances and expands the Company&#8217;s proteins and chromatography franchises to address the unique purification needs of gene therapies and other emerging modalities.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration Transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Avitide Acquisition was accounted for as a purchase of a business under ASC 805, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Business Combinations&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Under the terms of the Avitide Merger Agreement, all outstanding shares of capital stock of Avitide were cancelled and converted into the right to receive merger consideration with a value totaling up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">275.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which consisted of upfront payments in aggregate of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">150.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million ($</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">149.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, net of cash acquired) and up to an additional $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">125.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (undiscounted) in contingent consideration earnout payments if certain performance targets are achieved. Total consideration paid also included $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million deposited into an escrow account against which the Company may make claims for indemnification. The Avitide Acquisition was funded through payment of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">75.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash, the issuance of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">271,096</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> unregistered shares of the Company&#8217;s common stock totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">83.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and contingent consideration with fair value of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">88.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of Avitide were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, fair value of the intangible assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">46.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and the residual goodwill is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">197.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.  The Company has incurred </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of transaction and integration costs associated with the Avitide Acquisition from the date of acquisition to December 31, 2022, with </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million of transaction and integration costs incurred in 2022 and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in 2021. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 the Company believes to be reasonable. However, actual results may differ from these estimates.</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total consideration transferred is as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"></td>
        <td style="width:1.94%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.823%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">74,962</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equity consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">82,968</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration - earnout</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">88,373</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">246,303</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">       Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 final valuation of Avitide. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended on September 20, 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"></td>
        <td style="width:1.94%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.823%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">572</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">228</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">332</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">114</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,862</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,648</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,580</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,650</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,210</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">210</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">197,476</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax asset</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,525</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">215</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,183</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">698</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,950</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">58</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">246,303</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">197.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of Avitide. These synergies include certain cost savings, operating efficiencies and other strategic benefits projected to be achieved as a result of the Avitide Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes. During 2022, the Company recorded adjustments to goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million related to a change in estimated tax benefits associated with the net operating loss carryforward filed on the Avitide pre-acquisition tax return. The offset of these adjustments is included in long term deferred tax asset in the table above.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the Avitide Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;"></td>
        <td style="width:1.82%;"></td>
        <td style="width:19.884%;"></td>
        <td style="width:1.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.604%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,580</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,650</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,210</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">210</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">46,650</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Polymem S.A.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On June 22, 2021, the Company entered into a Stock Purchase Agreement with Polymem, a company organized under the laws of France, and Jean-Michel Espenan and Franc Saux, acting together jointly and severally as the representatives of the sellers pursuant to which Repligen acquired all of the outstanding common stock of Polymem for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">47.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash.  The transaction closed on July 1, 2021 (the &#8220;Polymem Acquisition.&#8221;).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Polymem, which is headquartered in, Toulouse, France, is a manufacturer of hollow fiber (&#8220;HF&#8221;) membranes, membrane modules and systems for industrial and bioprocessing applications. Polymem products will complement and expand the Company&#8217;s portfolio of HF systems and consumables. The acquisition substantially increases Repligen&#8217;s membrane and module manufacturing capacity and establishes a world-class center of excellence in Europe to address the accelerating global demand for these innovative products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consideration Transferred</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company accounted for the Polymem Acquisition as a purchase of a business under ASC 805 and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Payment for the transaction was denominated in Euros but is reflected here in U.S. dollars for presentation purposes based on an exchange rate of 0.8437 as of July 1, 2021, the date of acquisition. Total consideration paid was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">47.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which included $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million deposited into an escrow account against which the Company may make claims for indemnification.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the acquisition method of accounting, the assets acquired and liabilities assumed of Polymem were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, the fair value of the intangible assets acquired is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">9.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and the residual goodwill is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">35.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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 </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million of transaction and integration costs associated with the Polymem Acquisition from the date of acquisition to December 31, 2022, with </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million incurred in 2022 and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million incurred from the date of acquisition to </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2021. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value of Net Assets Acquired</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 final valuation of Polymem. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended on July 1, 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and final allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"></td>
        <td style="width:1.94%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.823%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">353</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net working capital (excluding cash and inventory<br/>&#160;&#160;&#160;&#160;&#160;step-up)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">414</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory step-up</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">543</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,424</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,145</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,274</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradenames</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">510</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-compete agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">312</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,680</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,253</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,327</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other long-term liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">143</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:bold;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">46,973</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquired Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">35.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million represents future economic benefits expected to arise from anticipated synergies from the integration of Polymem. These synergies include certain operating efficiencies and strategic benefits projected to be achieved as a result of the Polymem Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the Polymem Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;"></td>
        <td style="width:1.82%;"></td>
        <td style="width:19.884%;"></td>
        <td style="width:1.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.604%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,274</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">510</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">312</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,096</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></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_BusinessCombinationAndAssetAcquisitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAndAssetAcquisitionAbstract</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 805<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//805/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480302064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring Plan<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringAndRelatedActivitiesAbstract', window );"><strong>Restructuring and Related Activities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock', window );">Restructuring Plan</a></td>
<td class="text"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">5.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Restructuring Plan</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2023, the Board authorized the Company's management team to undertake restructuring activities to simplify and streamline our organization and strengthen the overall effectiveness of our operations. In addition to the initial streamlining and re-balancing efforts contemplated in July, the Company is undertaking further restructuring activities (collectively, the &#8220;Restructuring Plan&#8221;) which include consolidating a portion of our manufacturing operations between certain U.S. locations, discontinuing the sale of certain product SKUs, and evaluating the fair value of finished goods and raw materials, mostly secured during the 2020-2022 COVID-19 pandemic period (the &#8220;COVID-19 Period&#8221;) to meet increasing demand during a challenging supply chain environment in the industry.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company recorded pre-tax costs of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">32.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in 2023 related to the Restructuring Plan and expects the Restructuring Plan to be completed by the end of the third quarter of 2024. Of the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">32.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in pre-tax costs in 2023, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">27.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million is non-cash, relating primarily to inventory adjustments to record inventory at net realizable value and accelerated depreciation on equipment related to the shutdown of manufacturing facilities and production lines, the remaining costs are cash expenses, primarily related to severance and employee-related costs.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the charges related to restructuring activities by type of cost:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:28.071%;"></td>
        <td style="width:1.281%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.825%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.281%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.905%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.281%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.624%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.281%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.264%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.281%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.904%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="18" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Year Ended December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Severance &amp; Employee-Related Costs</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Inventory Adjustments</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accelerated Depreciation</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Facility and Other Exit Costs</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="18" style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,077</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">23,588</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,788</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">933</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,386</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">116</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">116</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,532</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">28</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">138</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,698</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,725</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">23,588</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,816</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,071</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,200</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Severance and employee-related costs under the Restructuring Plan are associated with actual headcount reductions. Costs incurred include cash severance and non-cash severance, including other termination benefits. Severance and other termination benefit packages are based on established benefit arrangements or local statutory requirements and we recognized the contractual component of these benefits when payment was probable and could be reasonably estimated.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The inventory adjustments include the impact of the Company discontinuing the sale of certain product SKUs and the impact of having proactively secured materials during the COVID-19 Period to meet accelerated demand during a challenging supply chain environment in the industry. Where demand has reduced, finished goods and raw materials, whose value exceeded the projected requirements to be used before reaching their expiration date, were written down to their realizable value. The Restructuring Plan also includes the closing of manufacturing facilities and production lines, which included inventory that could not be repurposed.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Non-cash charges for accelerated depreciation were recognized on long-lived assets that were taken out of service before the end of their normal service due to the shutdown of manufacturing facilities and production lines, in which case depreciation estimates were revised to reflect the use of the assets over their shortened useful life.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The restructuring accrual is included in accrued liabilities on the condensed consolidated balance sheets as of December 31, 2023 and the balance has been paid as of that date. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Activity related to the Restructuring Plan for 2023 was as follows (amounts in thousands):</span></span></p><div style="font-size:10pt;font-family:Arial;">
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:32.326%;"></td>
        <td style="width:1.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.903%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.143%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.523%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.102%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Restructuring Costs</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amounts Paid in 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Non-Cash Restructuring Items</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Restructuring Liability</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Severance &amp; employee-related costs</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,725</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,044</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">217</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">464</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory adjustments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">23,588</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">23,588</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accelerated depreciation</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,816</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,816</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Facility exit and other exit costs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,071</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,061</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,200</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,105</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">27,631</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">464</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></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_RestructuringAndRelatedActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringAndRelatedActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_RestructuringAndRelatedActivitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//420/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(e))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480366192">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">6.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Leases</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 13 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 non-lease 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023 and 2022, operating lease right of use assets wer</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">e $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">115.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> m</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">illion and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">125.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively and operating lease liabilities were </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">132.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">138.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively. The addition of FlexBiosys and Metenova in 2023 added </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">43,833</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> square feet to our leased properties and as a result of that and the expansion in Toulouse, France, the operating right of use asset balance increased $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in 2023, as compared to 2022. However, the consolidated right of use assets balance decreased due to the normal amortization of existing leases during 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">   </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The maturities of the Company&#8217;s operating lease liabilities as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 are as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:72.84%;"></td>
        <td style="width:2.2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:22.959999999999997%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,585</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2025</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,645</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2026</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,406</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2027</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">23,944</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2028</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,382</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2029 and thereafter</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">79,435</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total future minimum lease payments</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">201,397</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less lease incentives</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,765</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less amount of lease payment representing interest</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">32,595</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total operating lease liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">159,037</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">The future minimum lease payments include obligations for leases not yet commenced of $</span><span style="font-size:9pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">26.8</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> million for manufacturing, office and warehouse facilities. These leases have terms of between </span><span style="font-size:9pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">5</span></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="font-size:9pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">10</span></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> years and commence during the first quarter of 2024.</span></div></div></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total operating lease liabilities included on the Company&#8217;s consolidated balance sheets are as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.28%;"></td>
        <td style="width:1.74%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.619999999999997%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.74%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.619999999999997%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,631</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,957</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126,578</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">131,389</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Minimum operating lease payments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">132,209</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">138,346</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. </span><span style="font-size:12pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021, total lease cost is comprised of the following:</span></span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:44.489%;"></td>
        <td style="width:1.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.083%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.083%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.083%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Lease Cost</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,981</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,833</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,838</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Variable operating lease cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,075</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11,317</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,118</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Lease cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,056</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">29,150</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,956</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following information represents supplemental disclosure for the consolidated statements of cash flows related to operating leases (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:44.489%;"></td>
        <td style="width:1.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.083%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.083%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.083%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,862</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,757</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,863</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The weighted average remaining lease term and the weighted average discount rate used to measure the Company&#8217;s operating lease liabilities as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, were:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:75.735%;"></td>
        <td style="width:1.42%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.844%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average remaining lease term (years)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7.74</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average discount rate</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.13</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
      </table></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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480352160">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">7.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue Recognition</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Revenue from Contracts with Customers,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Disaggregation of Revenue</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 was as follows:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49.24%;"></td>
        <td style="width:1.66%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.66%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.66%;"></td>
        <td style="width:15.26%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;">
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Product revenue</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">638,381</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,183</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Royalty and other income</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">383</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">353</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;">
        <td style="background-color:#cff0fc;text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">638,764</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,536</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">When disaggregating revenue, the Company considered all of the economic factors that may affect its revenues.  Because 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Disaggregated revenue from contracts with customers by geographic region can be found in Note 2, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Summary of Significant Accounting Policies &#8211; Segment Reporting,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> above.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> revenue from customers that represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% or more of the Company's total revenue for the year ended December 31, 2023 and 2022. Revenue from Pfizer Inc. was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">68.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, or </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, of the Company's total revenue for the year ended December 31, 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Filtration Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s filtration products generate revenue through the sale of KrosFlo and ARTeSYN tangential flow filtration (&#8220;TFF&#8221;) systems, TangenX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> flat sheet (&#8220;FS") cassettes, Spectrum</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> HF filters, membranes and modules, XCell ATF systems and related consumables. Supporting our systems, we also sell ProConnex</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Flow Path assemblies and custom silicone-based, single-use flow path assemblies and components from Metenova, FlexBiosys, BioFlex, Polymem, ARTeSYN Biosolutions Holdings Ireland Limited, NMS and EMT, seven acquisitions completed since 2020.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s KrosFlo and ARTeSYN 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 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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s TangenX FS cassettes (SIUS, SIUS Gamma</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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 FS cassettes is generally recognized at a point in time upon transfer of control of the customer.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 606-10-55-18.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company also markets XCell ATF controllers, which are technologically advanced filtration devices 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 controllers are typically sold with consumables (i.e., tubing sets, metal stands) as well as training and installation services at the request of the customer. The controllers and consumables are considered distinct products and therefore represent separate performance obligations. First time purchasers of the controllers typically purchase a controller that is shipped with the tubing set(s) and metal stand(s). The training and installation services do not significantly modify or customize the XCell ATF controllers and therefore represent a distinct performance obligation. XCell ATF product revenue related to controllers and consumables is generally recognized at a point in time upon transfer of control to the customer.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Chromatography Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 pre-packed chromatography column product line. OPUS columns are designed to be disposable following a production campaign. Each OPUS column is delivered pre-packaged with the customer&#8217;s choice of chromatography resin, which is either provided by the Company for the customer or is customer supplied. Chromatography product revenue is generally recognized at a point in time upon transfer of control to the customer and represents a single performance obligation.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Process Analytics Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The process analytics franchise generates revenue primarily through the sale of the SoloVPE and FlowVPX slope spectroscopy systems, consumables and service. These products complement and support the Company&#8217;s existing filtration, chromatography and proteins franchises as they allow end-users to make in-line protein concentration measurements in filtration, chromatography and fill-finish applications, designed to allow for real-time process management. Process analytics product revenue is generally recognized at a point in time upon transfer of control to the customer.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Protein Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s protein franchise generates revenue primarily 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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2021, the Company completed the Avitide Acquisition and added its diverse libraries and leading technology in affinity ligand discovery and development to its proteins franchise. The acquisition gives the Company a new platform for affinity resin development, including C&amp;GT, and advances and expands the Company&#8217;s proteins and chromatography franchises to address the unique purification needs of gene therapies and other emerging modalities.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Other Products</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Transaction Price Allocated to Future Performance Obligations</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 606-10-50-14.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Contract Balances from Contracts with Customers</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides information about receivables and deferred revenue from contracts with customers as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 (amounts in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:70.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.72%;"></td>
        <td style="width:1.64%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.040000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.64%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.96%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balances from contracts with customers only:</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">124,161</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">116,247</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred revenue (included in accrued liabilities and<br/>&#160;&#160;&#160;other noncurrent liabilities in the consolidated <br/>&#160;&#160;&#160;balance sheets)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,755</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,631</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue recognized during periods presented relating to:</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">The beginning deferred revenue balance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18,751</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,390</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Costs to Obtain or Fulfill a Customer Contract</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Applying the practical expedient in paragraph 340-40-25-4, 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 statements 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.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-15<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480316848">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_CreditLossFinancialInstrumentTextBlock', window );">Credit Losses</a></td>
<td class="text"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">8.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Credit Losses</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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' 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 uncollectible 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accounts receivable balance on the Company&#8217;s consolidated balance sheets as of December 31, 2023 was</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">124.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, net o</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">f $</span><span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;">2.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of allowances. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides a roll-forward of the allowance for credit losses in 2023 and 2022 that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (amounts in thousands):</span></span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of allowance for credit losses, beginning of period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,365</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,417</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current period change for write-offs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">82</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current period change for expected credit losses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">839</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">74</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of allowance for credit losses, end of period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,122</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,365</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></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_CreditLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-42<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 44<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-44<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-21<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-4<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480411648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Goodwill and Intangible Assets</a></td>
<td class="text"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">9.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Goodwill and Intangible Assets</span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. </span><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the changes in the carrying value of goodwill for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022 (amounts in thousands):</span></span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"></td>
        <td style="width:1.94%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.823%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2021</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">860,362</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Measurement period adjustment - BioFlex</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">346</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Measurement period adjustment - Avitide</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,768</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cumulative translation adjustment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,735</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2022</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">855,513</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of FlexBiosys, Inc.</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,321</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of Metenova Holding AB</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">115,778</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cumulative translation adjustment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,508</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">987,120</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During each of the fourth quarters of 2023, 2022 and 2021, the Company completed its annual impairment assessments and concluded that goodwill was not impaired in any of those years.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 existed 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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Indefinite-lived intangible assets are tested for impairment at least annually. There has been </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment of our intangible assets for the periods presented.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets, net consisted of the following at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.31%;"></td>
        <td style="width:1.18%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.258000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.18%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.278%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.298%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.138%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Carrying<br/>Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>Amortization</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net<br/>Carrying<br/>Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Useful Life<br/>(in years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Finite-lived intangible assets:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Technology - developed</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">249,594</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44,162</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">205,432</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Patents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">269,949</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">83,963</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">185,986</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,757</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,789</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,968</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other intangibles</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,914</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,514</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,400</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total finite-lived intangible assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">532,454</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">132,668</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">399,786</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Indefinite-lived intangible asset:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">700</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">700</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total intangible assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">533,154</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">132,668</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">400,486</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets consisted of the following at December 31, 2022:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.31%;"></td>
        <td style="width:1.18%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.258000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.18%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.278%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.298%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.138%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Carrying<br/>Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>Amortization</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net<br/>Carrying<br/>Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Useful Life<br/>(in years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Finite-lived intangible assets:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Technology - developed</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">190,463</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,992</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">159,471</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Patents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">252,934</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">66,559</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">186,375</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,682</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,319</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,363</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other intangibles</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,811</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,044</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">767</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total finite-lived intangible assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">454,130</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101,154</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">352,976</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Indefinite-lived intangible asset:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">700</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">700</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total intangible assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">454,830</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101,154</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">353,676</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amortization expense for finite-lived intangible assets was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">31.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">27.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">22.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the years ended December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, the Company expects to record the following amortization expense (amounts in thousands): </span></span><span style=""></span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"></td>
        <td style="width:1.94%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.823%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortization</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Expense</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34,314</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2025</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,879</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2026</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,524</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2027</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,421</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2028</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">32,689</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2029 and thereafter</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">231,959</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">399,786</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480435376">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock', window );">Consolidated Balance Sheet Detail</a></td>
<td class="text"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">10.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Consolidated Balance Sheet Detail</span></div></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Inventories, net</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories, net consists of the following:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Raw materials</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">123,598</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">149,438</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Work-in-process</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,492</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,183</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Finished products</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">74,231</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">82,656</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total inventories, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">202,321</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">238,277</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Prepaid Expenses and Other Current Assets</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prepaid expenses and other current assets consist of the following:</span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment maintenance and services</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,605</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,135</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid income taxes</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,229</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">519</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid insurance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,087</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,909</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,317</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,274</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total prepaid expenses and other current assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,238</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,837</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Property, Plant and Equipment</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property, plant and equipment consist of the following:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Land</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">992</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,003</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Buildings</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,667</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,599</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Leasehold improvements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126,663</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">115,672</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">114,606</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">94,613</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Furniture, fixtures and office equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,077</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,307</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Computer hardware and software</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,528</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">29,813</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Construction in progress</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">47,086</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31,553</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">544</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">420</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total property, plant and equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">336,163</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">282,980</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less - Accumulated depreciation</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128,723</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">92,307</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total property, plant and equipment, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">207,440</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">190,673</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Depreciation expense totaled $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">37.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">23.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">16.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in the fiscal years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued Liabilities</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accrued liabilities consist of the following:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Employee compensation</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,660</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,522</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred revenue</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,287</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,283</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income taxes payable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,814</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,459</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,772</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15,856</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total accrued liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">50,533</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">71,120</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></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_SupplementalBalanceSheetDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//210/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291479750544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">11.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Income Taxes </span></div></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of income before income taxes are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.477%;"></td>
        <td style="width:1.399%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.776%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.399%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.776%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.399%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.776%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Domestic</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,601</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">153,446</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,984</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,733</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65,694</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">71,559</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">64,132</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">219,140</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">153,543</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of the income tax provision are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.477%;"></td>
        <td style="width:1.399%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.776%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.399%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.776%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.399%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.776%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Components of the income tax provision:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,238</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34,800</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,166</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,317</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,619</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,086</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,555</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,181</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,252</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Jurisdictional components of the income tax provision:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Federal</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,512</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,662</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,321</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">State</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">142</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,381</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,251</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18,901</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,138</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15,680</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,555</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,181</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,252</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company had federal net operating loss carryforwards of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">31.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, state net operating loss carryforwards of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and foreign net operating loss carryforwards of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The state net operating loss carryforwards will expire </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">at various dates through 2043</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, while the federal and foreign net operating loss carryforwards have unlimited carryforward periods and do not expire. At </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company had federal and state business tax credits carryforwards of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million available to reduce future federal and state income taxes. The business tax credit carryforwards will expire at various dates through 2043. 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 shareholders.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of deferred income taxes are as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax assets:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,120</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,323</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating leases</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,727</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31,564</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Capitalized research and development</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,568</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,102</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,131</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,983</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net operating loss carryforwards</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,578</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,808</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Business tax credit carryforwards</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,697</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,639</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,314</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,440</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total deferred tax assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,135</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">68,859</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less: valuation allowance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net deferred tax assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,115</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">68,840</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liabilities:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Fixed assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,716</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18,965</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquired intangible assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,956</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,549</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">26,373</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">28,486</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Debt discount</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,006</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total deferred tax liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">120,051</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">91,000</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total net deferred tax liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">38,936</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,160</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
      </table></div><p style="margin-left:1.667%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The net change in the total valuation allowance for the year ended December 31, 2023 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was an increase of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and a decrease of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:1.667%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The reconciliation of the federal statutory rate to the effective income tax rate for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 is as follows:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:92.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:33.94%;"></td>
        <td style="width:1.04%;"></td>
        <td style="width:1%;"></td>
        <td style="width:7.54%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:8.44%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.04%;"></td>
        <td style="width:1%;"></td>
        <td style="width:7.54%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:8.44%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.04%;"></td>
        <td style="width:1%;"></td>
        <td style="width:7.54%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:8.44%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="22" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="22" style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except percentages)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">64,132</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">219,140</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">153,543</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected tax at statutory rate</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,469</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">46,020</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,247</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjustments due to:</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Difference between U.S. and foreign tax</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,084</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.7</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,024</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.5</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">530</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">State income taxes</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,387</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,509</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.6</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,462</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Business tax credits</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,522</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.1</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,139</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.3</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,239</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.5</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,461</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.8</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,638</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.6</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,049</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.9</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">U.S. taxation of foreign earnings</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">343</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.5</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">83</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign-derived intangible income</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">88</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,042</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.3</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,547</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.7</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Executive compensation</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,084</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.8</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,441</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.5</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,397</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,412</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">10.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,033</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.8</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,232</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.8</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,634</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.1</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Debt discount</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">16,650</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">26.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign exchange loss</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,288</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.6</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Uncertain tax provisions</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">165</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">234</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">443</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Change in valuation allowance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">688</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">48</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Return to provision adjustments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,255</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">498</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">50</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">765</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">92</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">730</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.5</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax provision</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">22,555</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">35.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">33,181</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">15.1</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">25,252</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">16.4</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
      </table></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:78.98%;"></td>
        <td style="width:2.06%;"></td>
        <td style="width:18.96%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Jurisdiction</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fiscal Years Subject to Examination</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">United States - federal and state</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2019</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2023</span></span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Sweden</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2018</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2023</span></span></p></td>
       </tr>
      </table></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following is a tabular reconciliation of the total amounts of unrecognized tax benefits:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:65.266%;"></td>
        <td style="width:1.701%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.665000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.701%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.665000000000001%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of gross unrecognized tax benefits, beginning of period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,996</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,786</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of increases in unrecognized tax benefits as a result <br/>&#160;&#160;&#160;&#160;&#160;of tax positions taken in the current period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">178</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">146</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of increases in unrecognized tax benefits as a result <br/>&#160;&#160;&#160;&#160;&#160;of tax positions taken in the prior period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">53</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">64</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of decreases due to release</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">88</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of gross unrecognized tax benefits, end of period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,139</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,996</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Included in the balance of unrecognized tax benefits as of December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, are $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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. In 2023, a net expense of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">15,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, was recorded to the income tax provision related to interest and penalties while in 2022, a net expense of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">24,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was recorded. The amount of interest and penalties recorded in the accompanying consolidated balance sheets was approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">67,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">52,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. In the next twelve months, it is reasonably possible the Company will reduce its gross unrecognized tax benefits, excluding interest by up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million due to expiring statutes of limitations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2021, the Organization of Economic Co-operation and Development announced an Inclusive Framework on Base Erosion and Profit Sharing with the goal of achieving consensus around substantial changes to international tax policies, including the implementation of a minimum global effective tax rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We continue to evaluate the impacts of enacted legislation and</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">pending </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">legislation in the tax jurisdictions in which we operate. While various countries have implemented the legislation as of January 1, 2024, we do not expect a resulting material change to our income tax provision for the 2024 fiscal year.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company has accumulated undistributed earnings generated by its foreign subsidiaries of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">212.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. Because $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of such earnings have previously been subject to the one-time transition tax on foreign earnings required by the Tax Cuts and Jobs Act enacted in December 2017, 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 </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company has not provided for taxes on outside basis differences of its foreign subsidiaries as it is not practicable and 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.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291485523008">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Stockholders' Equity</a></td>
<td class="text"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">12.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stockholders&#8217; Equity </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Share Repurchases</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2023, the Board authorized and approved a stock repurchase of up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">25.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the Company's common stock concurrent with the issuance of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">600.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2023 Notes. See Note 14, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for more information on the issuance. The Company used $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">14.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the proceeds from the issuance of the 2023 Notes to repurchase </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">92,090</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares at a price of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">156.22</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, including transaction costs, to offset the impact of dilution from the issuance of 2023 Notes and equity compensation programs as well as to reduce its outstanding share count. The Company has elected to retire the shares repurchased to date. Retired shares become part of the pool of authorized but unissued shares. The purchase price of the retired shares in excess of par value, including transaction costs, is recorded as a decrease to additional paid-in capital in the Company's consolidated balance sheets as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Option and Incentive Plans</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At the Company&#8217;s 2018 Annual Meeting of Stockholders held on May 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 </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,778,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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 and 2012 Plan 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 </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,671,408</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares were available for future grants under the 2018 Plan.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Issued for Earnout Payment</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In May 2023, the Company issued </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">42,621</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of its common stock to former securityholders of Avitide to satisfy the contingent consideration obligation established under the Agreement and Plan of Merger and Reorganization (the &#8220;Avitide Agreement&#8221;) which the Company entered into as part of the Avitide Acquisition. See Note 4, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquisitions&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">above for additional information on the Avitide Acquisition and the contingent consideration. The shares represent </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">50</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the earnout consideration earned in the First Earnout Year (as defined in the Avitide Agreement).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock-Based Compensation</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company recorded stock-based compensation expense of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">25.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">27.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">27.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the years ended December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively, for share-based awards granted under the Plans. </span><span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table presents stock-based compensation expense in the Company&#8217;s consolidated statements of comprehensive income: </span></span><span style=""></span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.437%;"></td>
        <td style="width:1.339%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.816%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.339%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.836%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.339%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.896%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,933</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,525</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,021</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,855</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,622</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,856</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,787</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,169</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,623</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total stock-based compensation</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,575</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,316</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,500</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Options</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company uses the Black-Scholes option pricing model to calculate the fair value of stock option awards on the grant date, and measures stock-based compensation costs of stock options 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 recognizes stock-based compensation expense for options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted for estimated forfeitures.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The fair value of stock option awards granted during the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 were calculated using the following estimated assumptions:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:51.27%;"></td>
        <td style="width:1.6%;"></td>
        <td style="width:14.643%;"></td>
        <td style="width:1.6%;"></td>
        <td style="width:14.643%;"></td>
        <td style="width:1.6%;"></td>
        <td style="width:14.643%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="5" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected term (in years)</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.14</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.5</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.5</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected volatility (range)</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44.78</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">46.58</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41.44</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43.96</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44.57</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45.27</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Risk-free interest rate</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.56</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.71</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1.86</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.07</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.77</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1.07</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected dividend yield</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
      </table></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information regarding option activity for the year ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, under the Plans is summarized below:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.11%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.662%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.22%;"></td>
        <td style="width:1%;"></td>
        <td style="width:8.942%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.662%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.22%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.182%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Shares</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>average<br/>exercise<br/>price</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted-<br/>Average<br/>Remaining<br/>Contractual<br/>Term<br/>(in Years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Aggregate<br/>Intrinsic<br/>Value<br/>(in Thousands)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options outstanding at December 31, 2022</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">609,965</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">71.74</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Granted</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">90,305</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">168.22</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercised</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">40,211</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">26.76</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited/expired/cancelled</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,929</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">189.46</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options outstanding at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">649,130</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">85.97</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options exercisable at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">364,443</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65.53</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested and expected to vest at December 31, 2023</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">635,834</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">85.49</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.59</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">61,888</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested options as of December 31, 2023 plus the number of unvested options expected to vest as of December 31, 2023, based on the unvested outstanding options at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></div></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The aggregate intrinsic value in the table above represents the total pre-tax intrinsic value (the difference between the closing price of the common stock on December 29, 2023, the last business day of 2023, of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">179.80</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share and the exercise price of each in-the-money option) that would have been received by the option holders had all option holders exercised their options on</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023. The aggregate intrinsic value of stock options exercised during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">14.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">20.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The weighted average grant date fair value of options granted during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">84.37</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">87.40</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">88.01</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. The total fair value of stock options that vested during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Units</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The fair value of stock units is calculated using the closing price of the Company&#8217;s common stock on the date of grant. The Company recognizes expense on awards with service-based vesting over the employee's requisite service period on a straight-line basis. The Company recognizes expense on performance-based awards over the vesting period based on the probability that the performance metrics will be achieved. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information regarding stock unit activity, which includes activity for restricted stock units and performance stock units, for the year ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 under the Plans is summarized below:</span></span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:65.92%;"></td>
        <td style="width:1.12%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.12%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.6%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.64%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.6%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Shares</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted Average<br/>Grant Date<br/>Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested at December 31, 2022</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">531,034</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">142.57</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Awarded</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">212,338</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">170.03</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">195,672</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">124.58</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited/cancelled</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">73,380</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">177.81</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">474,320</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">155.59</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested and expected to vest at December 31, 2023</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">413,249</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">152.74</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested stock units as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, plus the number of unvested stock units expected to vest as of December 31, 2023, based on the unvested outstanding stock units at December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></div></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The aggregate intrinsic value of stock units vested during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">35.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">43.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">46.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively. The total fair value of stock units that vested during the years ended December 31, 2023, 2022 and 2021 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">26.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">22.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">13.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of December 31, 2023, there was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">63.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of total unrecognized compensation cost related to unvested share-based awards. This cost is expected to be recognized over a weighted average remaining requisite service period of </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.84</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> years. The Company expects </span><span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;">2,185,873</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> unvested options and stock units to vest over the next </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">five years</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480237/815-40-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//505/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-16<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480356640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">13.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Commitments and Contingencies </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">License Agreement</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On September 19, 2022, the Company entered into a 15-year exclusive License Agreement (the &#8220;Daylight Agreement&#8221;) with DRS Daylight Solutions, Inc. (&#8220;Daylight&#8221;), giving the Company exclusive license and commercialization rights to use certain technology and intellectual property subject to conditions set forth in the Daylight Agreement. The Company agreed to pay Daylight (i) an initial, one-time, non-refundable, non-creditable upfront cash payment and (ii) certain quarterly royalty payments.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Pursuant to the Daylight Agreement, the Company obtains the exclusive, non-transferrable, right and license to use specifically in the field of bioprocessing, the Daylight intellectual property called Culpeo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> QCL-IR Liquid Analyzer (&#8220;Culpeo&#8221;), which is a compact, intelligent spectrometer that uses the power of quantum cascade lasers to analyze and identify chemicals. Under the Daylight Agreement, the Company assumes responsibility for the commercialization and sale of Culpeo, in addition to the ability</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to incorporate the intellectual property into optimized products over the term of the Daylight Agreement. Daylight will continue to sell the products in the specified fields of Aerospace and Defense.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Collaboration Agreements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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. R&amp;D expenses associated with license agreements were immaterial amounts for the years ended December 31, 2023, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In June 2018, the Company secured an agreement with Navigo Proteins GmbH (&#8220;Navigo&#8221;) for the exclusive co-development of multiple affinity ligands for which Repligen holds commercialization rights. The Company is manufacturing and supplying the first of these ligands, NGL-Impact</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, exclusively to Purolite, who is pairing 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. The Company also signed a long-term supply agreement with Purolite for NGL-Impact and other potential additional affinity ligands that may advance from the Company&#8217;s Navigo collaboration. In September 2020, the Company and Navigo successfully completed co-development of an affinity ligand targeting the SARS-CoV-2 spike protein, to be utilized in the purification of vaccines for the COVID-19 pandemic, including emerging variants of the SARS-CoV-2 coronavirus. The Company has proceeded with scaling up and manufacturing this ligand and the development and validation of the related affinity chromatography resin, which is marketed by the Company. In September 2021, the Company and Navigo successfully completed co-development of a novel affinity ligand that addresses aggregation issues associated with pH sensitive antibodies and Fc-fusion proteins. The Company is manufacturing and supplying this ligand, NGL-Impact</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> HipH, to Purolite. The Navigo and Purolite agreements are supportive of the Company&#8217;s strategy to secure and reinforce the Company&#8217;s proteins business.</span><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The Company made royalty payments to Navigo of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021, respectively, in connection with this program, which are recorded to research and development expenses in the Company&#8217;s consolidated statements of comprehensive income.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Purchase Orders, Supply Agreements and Other Contractual Obligations</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">34.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million are expected to be completed within one year.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Legal Proceedings</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//450/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480327/954-440-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480300480">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtTextBlock', window );">Convertible Senior Notes</a></td>
<td class="text"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">14.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Convertible Senior Notes </span></div></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The carrying value of the Company&#8217;s convertible senior notes is as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.08%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.84%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.84%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,<br/>2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,<br/>2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">0.375% Convertible Senior Notes due 2024:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Principal amount</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">69,700</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">287,470</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt issuance costs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">248</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,855</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Carrying amount - Convertible Senior Notes due 2024, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">69,452</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">284,615</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">1.00% Convertible Senior Notes due 2028:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Principal amount</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">600,000</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt discount</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,457</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt issuance costs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,400</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Carrying amount - Convertible Senior Notes due 2028, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">510,143</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">1.00% Convertible Senior Notes due 2028</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On December 14, 2023, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">600.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2023 Notes in the Exchange and Subscription Agreements with a limited number of holders of its outstanding 2019 Notes and certain other qualified institutional buyers pursuant to Rule 144A under the Securities Act. Pursuant to the Exchange and Subscription Agreements, the Company exchanged $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">217.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of its 2019 Notes, which were cancelled upon exchange, for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">309.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2023 Notes (the &#8220;Exchange Transaction&#8221;) and issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">290.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2023 Notes in a private placement to accredited institutional buyers (the &#8220;Subscription Transactions&#8221;) for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">290.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company evaluated the Exchange Transaction and determined approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">29.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">217.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal of the exchanged 2019 Notes should be accounted for as extinguishments of debt and approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">188.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million should be accounted for as modification of debt. As a result, we recognized a $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">12.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million loss on extinguishment of debt in our consolidated statements of comprehensive income for the year ended December 31, 2023, inclusive of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of unamortized debt issuance costs. Under modification accounting, the carrying amount of the modified 2019 Notes was reduced by $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, with a corresponding increase to additional paid-in capital, to account for the increase in the fair value of the embedded conversion option, representing a debt discount of the modified 2019 Notes. The aggregate debt discount of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">82.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, comprised of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">79.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million increase in principal of the modified 2019 Notes and a $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million increase in the fair value of the embedded conversion option, is as a direct reduction from the carrying value of the convertible debt on our consolidated balance sheets. This amount will be accreted into interest expense in the consolidated statements of comprehensive income using the effective interest method over the term of the 2023 Notes.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Proceeds from the Subscription Transactions were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">276.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, net of debt issuance costs of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">14.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The Exchange Transaction resulted in $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the debt issuance costs related to the modified 2019 Notes, which were expensed as incurred in accordance with modification accounting, and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of deferred debt issuance costs related to the 2023 Notes, which were recorded as a direct deduction to the carrying value of the 2023 Notes on the Company&#8217;s consolidated balance sheets. The Company will amortize the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of debt issuance costs of the 2023 Notes into amortization of debt issuance costs in the Company&#8217;s consolidated statements of comprehensive income over the remaining term of the 2023 Notes. The carrying value of the 2023 Notes of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">510.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million is included in long-term debt on the Company's consolidated balance sheets as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company used </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">14.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the proceeds from the Subscription Transactions to repurchase shares of its common stock from certain purchasers of the 2023 Notes. See Note 12, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Stockholders&#8217; Equity - Share Repurchases&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for additional information related to this repurchase. The Company will also use a portion of the proceeds to finance in part, the settlement upon conversion or repurchase of the remaining 2019 Notes at or prior to maturity. The remainder of the proceeds will be used for working capital</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and general corporate purposes, including to fund possible acquisitions of, or investments in, complementary businesses, products, services and technologies.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The 2023 Notes are senior, unsecured obligations of the Company, and bear interest at a rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.00</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% per year. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Interest is payable semi-annually in arrears on each June 15 and December 15, commencing on June 15, 2024</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The 2023 Notes will mature on </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 15, 2028</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, unless earlier redeemed, repurchased or converted. The initial conversion rate for the 2023 Notes is </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.9247</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of the Company's common stock per $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> principal amount of 2023 Notes, which is equivalent to an initial conversion price of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">203.06</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share and represents a </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% premium over the last reported sale price of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">156.20</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share on December 6, 2023, the date on which the 2023 Notes were priced. Prior to the close of business on the business day immediately preceding September 15, 2028, the 2023 Notes will be convertible at the options of the holders of 2023 Notes only upon the satisfaction of specified conditions and during certain periods into cash up to their principal amount, and into cash, shares of the Company's common stock or a combination thereof, at the Company's election, for the conversion value above the principal amount, if any. Thereafter until the close of business on the second scheduled trading day immediately preceding the maturity date, the 2023 Notes will be convertible at the option of the holders of 2023 Notes at any time regardless of these conditions. The Company may redeem for cash, all or a portion of the 2023 Notes, at its option, on or after December 18, 2026 and prior to the 21st scheduled trading day immediately preceding the maturity date at a redemption price of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal amount of the 2023 Notes to be redeemed, plus accrued and unpaid interest to, but excluding the redemption date, if certain conditions are met in accordance to the indenture governing the 2023 Notes (the &#8220;2023 Notes Indenture&#8221;).</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">If the Company undergoes a &#8220;fundamental change&#8221; (as defined in the 2023 Notes Indenture), the holders of the 2023 Notes may require the Company to repurchase for cash all or part of their 2023 Notes at a purchase price equal to </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal amount of the 2023 Notes to be repurchased, plus accrued and unpaid interest, if any, up to, but excluding, the fundamental change repurchase date. In addition, if certain &#8220;make-whole fundamental changes&#8221; (as defined in 2023 Notes Indenture) occur or the Company calls all or a portion of the 2023 Notes for redemption, the Company will, in certain circumstances, increase the conversion rate for any 2023 Notes converted in connection with such make-whole fundamental change or any 2023 Notes called for redemption that are converted during the related redemption period.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Interest expense recognized on the 2023 Notes in 2023 wa</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">s $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the contractual coupon interest and accretion of the debt discount, respectively. Amortization of debt issuance costs recorded in 2023 related to the 2023 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> mill</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ion, which includes the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of debt issuance costs recorded under modification accounting mentioned above and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million amortization of debt issuance costs related to the capitalized portion of the costs. The effective interest rate on the 2023 Notes is </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.39</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> which included the interest on the 2023 Notes and amortization of the debt discount and issuance costs. As of December 31, 2023, the carrying value of the 2023 Notes was</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">510.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million and the fair value of the principal was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">596.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The fair value of the 2023 Notes was determined based on the most recent trade activity of the 2023 Notes as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The 2023 Notes Indenture 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 </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">25</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% in aggregate principal amount of the outstanding 2023 Notes may declare </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal of, and any accrued and unpaid interest on, all of the 2023 Notes to be due and payable. Upon the occurrence of certain events of bankruptcy, insolvency or reorganization involving the Company, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the principal of and accrued and unpaid interest, if any, on all of the 2023 Notes will become due and payable automatically.  Notwithstanding the foregoing, the 2023 Notes provide that, to the extent the Company elects and for up to 365 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 2023 Notes. The Company is not aware of any events of default that would allow holders to declare the principal of, and any accrued and unpaid interest on, all of the 2023 Notes to be due and payable.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">0.375% Convertible Senior Notes due 2024</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">T</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">he Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">287.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2019 Notes on July 19, 2019 in a transaction which included the underwriters&#8217; exercise in full of an option to purchase an additional $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">37.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">aggregate principal amount of 2019 Notes (the &#8220;Notes Offering&#8221;). The net proceeds of the Notes Offering, after deducting underwriting discounts and</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">commissions </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and other related offering expenses payable by the Company, were approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">278.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Immediately following the closing of the Exchange Transaction mentioned above, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">69.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in aggregate principal amount of the 2019 Notes remain outstanding.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The 2019 Notes are senior, unsecured obligations of the Company, and bear interest at a rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.375</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% per year. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Interest is payable semi-annually in arrears on January 15 and July 15 of each year, beginning on January 15, 2020</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The remaining 2019 Notes will mature on </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">July 15, 2024</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, unless earlier repurchased or converted in accordance with their terms. The initial conversion rate for the 2019 Notes is </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.6749</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of the Company&#8217;s common stock per $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> principal amount of 2019 Notes (which is equivalent to an initial conversion price of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">115.28</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share). Prior to the close of business on the business day immediately preceding April 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 remaining 2019 Notes will be convertible at the options of the holders of 2019 Notes at any time regardless of these conditions. Prior to March 4, 2022, conversion of the 2019 Notes could have been settled in cash, shares of the Company&#8217;s common stock or a combination thereof, at the Company&#8217;s election. On March 4, 2022, the Company entered into the Second Supplemental Indenture for the 2019 Notes, which irrevocably elected to settle the conversion of the 2019 Notes using a combination of cash and the Company&#8217;s common stock, settling the par value of the 2019 Notes in cash and any excess conversion premium in shares. The 2019 Notes are not redeemable by the Company prior to maturity.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% 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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the closing price of the Company&#8217;s common stock exceeded </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">130</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the conversion price of the 2019 Notes for more than </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> trading days of the last </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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 2024, the quarter immediately following the quarter when conditions are met, as stated in the terms of the 2019 Notes. These conditions have been met each quarter since the third quarter of 2020. As a result, as of the date of this filing and prior to the Exchange Transaction mentioned above, the Company received requests to convert $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2019 Notes and all but $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of the requests have been settled as of December 31, 2023. The remaining outstanding requests for conversions will settle in the first quarter of 2024. The conversions resulted in the issuance of a nominal number of shares of the Company&#8217;s common stock to the note holders. Because the 2019 Notes mature within one year of the report date, the Company classifies the carrying value of the 2019 Notes of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">69.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million as current liabilities on the Company's consolidated balance sheets at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prior to the adoption of ASU 2020-06, the Company accounted for the 2019 Notes as a liability and equity component where the carrying value of the liability component was valued based on a similar debt instrument. In accounting for the issuance of the 2019 Notes, the Company separated the 2019 Notes into liability and equity components. The carrying value of the liability component was calculated as the present value of its cash flows using a discount rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% based on comparative convertible transactions for similar companies. The carrying value of the equity component representing the conversion option was determined by deducting the fair value of the liability component from the par value of the 2019 Notes as a whole. The excess of the principal amount of the liability component over its carrying value amount, referred to as the debt discount, was amortized to interest expense on our consolidated statements of comprehensive income over the five-year term of the 2019 Notes. The equity component was not re-measured as long as it continued to meet the conditions for equity classification. The equity component related to the 2019 Notes recorded at issuance was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">52.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which was recorded in additional paid-in capital on the Company's consolidated balance sheets.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In accounting for the transaction costs related to the issuance of the 2019 Notes, the Company allocated the total costs incurred to the liability and equity components of the 2019 Notes using the same proportions as the initial carrying value of the 2019 Notes. Transaction costs related to the liability component were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and are amortized to interest expense using the effective interest method over the five-year term of the 2019 Notes. Transaction costs attributable to the equity component were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.6</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and are netted with the equity component of the 2019 Notes in stockholders' equity of the Company's consolidated balance sheets. Additionally, the Company recorded a net deferred tax liability of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">11.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Effective January 1, 2022, the Company adopted ASU 2020-06. After adoption, the Company now accounts for the 2019 Notes, and any convertible debt issued going forward, as a single liability measured at amortized cost. As the equity component is no longer required to be split into a separate component, the Company recorded a net adjustment for the initial $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">50.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million that was allocated to additional paid-in capital and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">22.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of life-to-date interest expense recorded as amortization of debt discount. Additionally, the net deferred tax liability recorded for the 2019 Notes was reversed. The principal amount of the liability over its carrying amount is amortized to interest expense over the five-year term of the 2019 Notes. Since the 2019 Notes are classified as a single liability, there is no debt discount required to be amortized in 2022.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Contractual coupon interest expense related to the 2019 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in 2023 </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and the Company recorded $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> mill</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ion of amortization of the debt issuance costs related to the 2019 Notes as well. The effective interest rate on the 2019 Notes is </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.02</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, which included the interest on the 2019 Notes and amortization of the debt issuance costs. As of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, the carrying value of the 2019 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">69.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and the fair value of the principal was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">109.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The fair value of the 2019 Notes was determined based on the most recent trade activity of the 2019 Notes as of December 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The indenture governing the 2019 Notes 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 </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">25</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% in aggregate principal amount of the outstanding 2019 Notes may declare </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% 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, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% 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 360 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 declare the principal of, and any accrued and unpaid interest on, all of 2019 Notes to be due and payable.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_LongTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//470/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480510512">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock', window );">Employee Benefit Plans</a></td>
<td class="text"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">15.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Employee Benefit Plans </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 401(k) of the Internal Revenue Code. All U.S. employees over the age of </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">21</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> are eligible to make pre-tax 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 $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in the years ended December 31, 2023, 2022 and 2021, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $1</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively to the defined contribution plan for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 710<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//710/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 712<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//712/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 715<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//715/tableOfContent<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480484448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock', window );">Related Party Transactions</a></td>
<td class="text"><div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">16.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Related Party Transactions </span></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Certain facilities leased by Spectrum LifeSciences LLC (&#8220;Spectrum&#8221;) are owned by the Roy Eddleman Living Trust (the &#8220;Trust&#8221;). As of December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Trust owned greater than </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the Company's outstanding shares. Therefore, the Company considers the Trust to be a related party.  The lease amounts paid to the Trust prior to the public offering were negotiated in connection with the acquisition of Spectrum. The Company incurred rent expense related to these leases totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(e))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//850/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-6<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291483783856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Use of Estimates</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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, contingent consideration, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, estimates related to the fair value of the conversion features of the convertible notes for purposes of assessing whether debt extinguishment or modification accounting applies to the Company&#8217;s debt exchange, stock-based compensation, tax reserves and recoverability of the Company&#8217;s net deferred tax assets and related valuation allowance.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">Basis of presentation</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Basis of Presentation</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All significant intercompany accounts and transactions have been eliminated in consolidation. Certain prior year balances have changed to reflect current year presentation.</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign Currency</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Foreign Currency</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 include adjustments related to the Company&#8217;s various intercompany loans with foreign subsidiaries. Intercompany loans determined to be permanent are remeasured at each period end and included in accumulated other comprehensive loss on the consolidated balance sheets. Intercompany loans with foreign subsidiaries determined to be repayable are remeasured at each period end and included in other income (expenses) on the consolidated statements of comprehensive income.</span><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenue Recognition</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 sciences and biopharmaceutical industries. Under Accounting Standard Codification No. (&#8220;ASC&#8221;) 606, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenue from Contracts with Customers,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 606-10-32-18, 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 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock', window );">Risks and Uncertainties</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Risks and Uncertainties</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy', window );">Cash, Cash Equivalents and Restricted Cash</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cash, Cash Equivalents and Restricted Cash</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 31, 2023 and 2022.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">751.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">523.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">603.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesPolicy', window );">Investment Securities</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Investment Securities</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We classify our investment securities in one of three categories: held to maturity, trading, or available for sale. Our investment portfolio at December 31, 2022 consisted of an investment in U.S. treasury bills classified as held to maturity which was included in the Company's consolidated balance sheets under marketable securities held to maturity. These marketable securities matured in June 2023 and there are no comparable investments as of December 31, 2023. Securities that we have the positive intent and ability to hold to maturity are classified as held to maturity and stated at amortized cost in the consolidated balance sheets. Management determines the appropriate classification of securities at the time of purchase based upon management's intent with regards to such investment and reevaluates such designation as of each balance sheet date. The Company's investment policy requires that it only invest in high-rated securities and limit its exposure to any single-user. There were no realized or unrealized gains or losses on investments recorded as of December 31, 2023, 2022 and 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company classifies marketable securities as short-term when they have remaining contractual maturities of one year or less from the balance sheet date. The Company periodically assesses its marketable securities, if any, for impairment or credit losses.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock', window );">Fair Value Measurement</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measurement</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 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:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:8.08%;"></td>
        <td style="width:91.92%;"></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
        <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 1  &#8211;</span></p></td>
        <td style="text-indent:5pt;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that the Company has the ability to access.</span></p></td>
       </tr>
       <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:middle;"><p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="text-indent:5pt;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
        <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 2  &#8211;</span></p></td>
        <td style="text-indent:5pt;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities.</span></p></td>
       </tr>
       <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:middle;"><p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="text-indent:5pt;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
        <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Level 3  &#8211;</span></p></td>
        <td style="text-indent:5pt;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Valuations based on inputs that are unobservable and significant to the overall fair value measurement.</span></p></td>
       </tr>
      </table><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock', window );">Allowance for credit losses</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Allowance for credit losses</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Inventories</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories relate to the Company&#8217;s bioprocessing business. The Company values inventory at cost or, if lower, net realizable value, using the first-in, first-out 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, work-in-process and finished products. The Company writes 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 consolidated financial statements, there have been no material adjustments related to a revised estimate of inventory valuations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Work-in-process and finished products inventories consist of material, labor, outside processing costs and manufacturing overhead.</span><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy', window );">Lease Accounting</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Lease Accounting</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company adopted Accounting Standards Update No. (&#8220;ASU&#8221;) 2016-02, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">&#8220;Leases (Topic 842)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8221; (&#8220;ASC 842&#8221;) as of January 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 right-of-use asset and liability on its consolidated balance sheets 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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A lease qualifies as a finance lease if any of the following criteria are met at the inception of the lease: (i) there is a transfer of ownership of the leased asset to the Company by the end of the lease term, (ii) the Company holds an option to purchase the leased asset that it is reasonably certain to exercise, (iii) the lease term is for a major part of the remaining economic life of the leased asset, (iv) the present value of the sum of lease payments equals or exceeds substantially all of the fair value of the leased asset, or (v) 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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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) a portion that is recorded as imputed interest expense and (ii) a portion that reduces the finance liability associated with the lease.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company does not separate lease and non-lease 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.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 sheets.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 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 certain 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;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AccruedLiabilitiesPolicyTextBlock', window );">Accrued Liabilities</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued Liabilities</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 consolidated financial statements.</span><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Deferred taxes are determined based on the difference between the consolidated financial statements 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 &#8220;more-likely-than-not&#8221; 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. The Company is subject to a territorial tax system under the Tax Cuts and Jobs Act enacted in December 2017, in which the Company is required to provide for tax on Global Intangible Low-Taxed 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.</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, Plant &amp; Equipment</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Property, Plant &amp; Equipment</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property, plant &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:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;">
         <tr style="visibility:collapse;">
          <td style="width:45.7%;"></td>
          <td style="width:1%;"></td>
          <td style="width:53.3%;"></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:bottom;"><p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Classification</span></p></td>
          <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated Useful Life</span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Buildings</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Thirty years</span></span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Leasehold improvements</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_833e71a6-5eeb-49e0-a78c-32c503c839cf;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Shorter of the term of the lease or estimated useful life</span></span></span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_5228bde0-a8f9-4d0e-8b0f-d7ad6cd002e0;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">twelve years</span></span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Furniture, fixtures and office equipment</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_f687d5a1-4081-4400-8f1a-6ce4fa87b8cf;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">eight years</span></span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Computer hardware and software</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_254e1113-308c-468a-ae2c-284636e490d3;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">seven years</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;or estimated useful life</span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vehicles</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Five years</span></span></p></td>
         </tr>
        </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Upon disposal of property, plant &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.</span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Earnings Per Share</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Earnings Per Share</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company reports earnings per share (&#8220;EPS&#8221;) in accordance with ASC 260, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">"Earnings Per Share," </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">which establishes standards for computing and presenting EPS. Basic EPS is computed by dividing net income available to common shareholders by the weighted average number of common shares outstanding during the period. Diluted EPS is computed by dividing net income available to common shareholders by the weighted-average number of common shares and dilutive common share equivalents outstanding during the period. Potential common share equivalents consist of restricted stock awards (including performance stock units) and the incremental common shares issuable upon the exercise of stock options and warrants. Under the treasury stock method, unexercised &#8220;in-the-money&#8221; 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.</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A reconciliation of basic and diluted weighted average share outstanding is as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
         <tr style="visibility:collapse;">
          <td style="width:57.477%;"></td>
          <td style="width:1.399%;"></td>
          <td style="width:1%;"></td>
          <td style="width:10.776%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.399%;"></td>
          <td style="width:1%;"></td>
          <td style="width:10.776%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.399%;"></td>
          <td style="width:1%;"></td>
          <td style="width:10.776%;"></td>
          <td style="width:1%;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except per share data)</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Numerator:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">185,959</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128,291</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive securities:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;Charges associated with convertible debt instruments, net of tax</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">387</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">186,346</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128,291</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Denominator:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average shares used in computing net income per<br/>&#160;&#160;&#160;share - basic</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,720</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,460</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,015</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive shares:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options and stock units</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">457</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">608</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">915</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible senior notes</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">181</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,360</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,253</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Dilutive effect of unvested performance stock units</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Dilutive potential common shares</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">657</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,995</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,249</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,377</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">57,455</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">57,264</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:5pt;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnings per share:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.75</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.35</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.33</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.74</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.24</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.24</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the dilutive impact for the Company's </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.375</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2024 (the &#8220; 2019 Notes&#8221;) and its </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.00</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2028 (the &#8220;2023 Notes&#8221;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 14, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for more information.</span></div></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the years ended December 31, 2023, 2022 and 2021, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">306,849</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">177,318</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares and </span><span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;">68,968</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares, respectively, 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 for years presented.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2019, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">287.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of its 2019 Notes. As provided by the terms of the indenture underlying the 2019 Notes, prior to March 4, 2022, conversion of the 2019 Notes could have been settled in cash, shares of the Company&#8217;s common stock or a combination thereof, at the Company&#8217;s election. On March 4, 2022, we entered into the Second Supplemental Indenture for the 2019 Notes, which irrevocably elected to settle the conversion of the 2019 Notes using a combination of cash and shares of the Company's common stock, settling the par value of the 2019 Notes in cash and any excess conversion premium in shares. On December 14, 2023, the Company exchanged, in a privately negotiated exchange, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">309.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal amount of 2023 Notes for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">217.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal amount of 2019 Notes and issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">290.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount  of 2023 Notes for $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">290.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash. Following the close of the Exchange Transaction, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">69.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in aggregate principal amount of 2019 Notes remains outstanding with terms unchanged.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As provided by the terms of the Second Supplemental Indenture underlying the 2019 Notes, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock. This means the Company will settle the par value of the 2019 Notes in cash and any excess conversion premium in shares. As mentioned in Note 14, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company adopted ASU 2020-06 effective January 1, 2022. Under ASU 2020-06, the Company is required to reflect the dilutive effect of the convertible securities by application of the &#8220;if-converted&#8221; method, which means the denominator of the EPS calculation would include the total number of shares assuming the 2019 Notes had been fully converted at the beginning of the period. Prior to March 4, 2022, the Company had the choice to settle the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">conversion </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of the 2019 Notes in cash, stock or a combination of the two. Therefore, from January 1, 2022 (the date the Company adopted ASU 2020-06) to March 4, 2022, the Company included </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,474,429</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares in the denominator of the EPS calculation, applying the if converted method. Subsequent to March 4, 2022, after the Second Supplemental Indenture became effective, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock, and from March 5, 2022 forward, only the excess premium will be settled with shares. Under the if-converted method of calculating dilutive shares, the Company was also required to exclude amortization of debt issuance costs and interest charges applicable to the convertible debt from the numerator of the dilutive EPS calculation for the period from January 1, 2022 to March 4, 2022, as if the interest on convertible debt was never recognized for that period. As a result, the Company excluded interest charges of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (net of tax) from the numerator and included </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,359,957</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares in the calculation of diluted earnings as the dilutive effect of the conversion premium for the year ended December 31, 2022. There were no comparable amounts included in 2023 or 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prior to the adoption of ASU 2020-06, the Company applied the provisions of ASC 260, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Earnings Per Share,&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">subsection 10-45-44, to determine the diluted weighted average shares outstanding as it related to the conversion spread on its convertible notes. Accordingly, the par value of the 2019 Notes was not included in the calculation of diluted EPS, but the dilutive effect of the conversion premium was considered in the calculation of diluted EPS using the treasury stock method. The dilutive impact of the 2019 Notes was 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 was no dilution from the accreted principal of the 2019 Notes.</span><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingPolicyPolicyTextBlock', window );">Segment Reporting</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Segment Reporting</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Operating segments are components of an enterprise that engage in business activities for which discrete financial information is available and regularly reviewed by the CODM in deciding how to allocate resources and assess performance. Our CEO has been identified as our CODM.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company views its operations, makes decisions regarding how to allocate resources and manages its business as </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">one</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents product revenues by product line:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:59.272%;"></td>
          <td style="width:2%;"></td>
          <td style="width:1%;"></td>
          <td style="width:16.363%;"></td>
          <td style="width:1%;"></td>
          <td style="width:2%;"></td>
          <td style="width:1%;"></td>
          <td style="width:16.363%;"></td>
          <td style="width:1%;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span><span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;">(1)</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Filtration products</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">347,781</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">495,930</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Chromatography products</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126,629</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">131,680</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Process analytics products</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,820</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">53,512</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proteins products</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">103,463</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">114,320</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,688</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,741</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total product revenue</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">638,381</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,183</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><p style="margin-left:4.667%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.75pt solid;margin-right:84.667%;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) from April 17, 2023, as well as Metenova Holding AB (&#8220;Metenova&#8221;) from October 2, 2023.</span></div></div><div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(2)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2021 revenue for filtration products includes revenue related to Polymem S.A. (&#8220;Polymem&#8221;) from July 1, 2021, as well as BioFlex Solutions LLC (&#8220;BioFlex&#8221;) and Newton T&amp;M Corp. (&#8220;NTM&#8221;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#8220;Avitide&#8221;) from September 20, 2021 through December 31, 2021. </span></div></div></div><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue from filtration products includes the XCell ATF</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> systems and consumables as well as the KrosFlo</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and SIUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> filtration products. Revenue from chromatography products includes the OPUS</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> chromatography pre-packed columns, chromatography resins and ELISA test kits. Revenue from process analytics products includes the SoloVPE</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, FlowVPE</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> RPM</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and FlowVPX</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">&#174;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total revenue by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented (based on the location of the customer):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:57.409%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:11.177999999999999%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:11.177999999999999%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:11.238%;"></td>
          <td style="width:1%;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue by customers' geographic locations:</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">40</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC/Other</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
        </table><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:66.993%;"></td>
          <td style="width:1.62%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.883000000000001%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.62%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.883000000000001%;"></td>
          <td style="width:1%;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets by geographic locations:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,371,208</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,209,244</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">426,034</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">287,543</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,169</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,871</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets by geographic location</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,824,411</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,524,658</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:12pt;font-family:Times New Roman;"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s long-lived assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:66.993%;"></td>
          <td style="width:1.62%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.883000000000001%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.62%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.883000000000001%;"></td>
          <td style="width:1%;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-lived assets by geographic locations:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">278,033</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">275,151</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,280</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">38,541</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,919</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,819</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total long-lived assets by geographic location</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">324,232</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">316,511</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table></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="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Concentrations of Credit Risk and Significant Customers</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentrations of Credit Risk and Significant Customers</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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, limit its credit exposure to any one issuer (with the exception of U.S. treasury obligations) and type of instrument is limited. At December 31, 2023, the Company had no investments associated with foreign exchange contracts, options contracts or other foreign hedging arrangements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 write-off 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> revenue from customers that represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% or more of the Company's total revenue for the year ended December 31, 2023 or 2022. Revenue from Pfizer Inc. accounted for </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of total revenue for the year ended December 31, 2021.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">No accounts receivable balance from a specific customer represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% or more of the Company's total trade accounts receivable at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Significant accounts receivable balances representing </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">or more of the Company&#8217;s total</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">trade </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">accounts receivable balances at December 31, 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> came from our accounts receivable balance outstanding with Purolite, an Ecolab Inc. company (&#8220;Purolite&#8221;), which was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">12.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the Company's total trade accounts receivable balance.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Business Combinations, Goodwill and Intangible Assets</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations, Goodwill and Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 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, 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. These changes in the fair value of contingent consideration are recorded to contingent consideration in the Company&#8217;s consolidated statements of comprehensive income. For the years ended December 31, 2023 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, we recorded a decrease of $</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">30.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">28.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively, to the estimated contingent consideration obligation, primarily related to the acquisition of Avitide (the &#8220;Avitide Acquisition&#8221;).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 after-tax cash flows attributable to these assets over their respective useful lives and then discounting these after-tax 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. The Company believes the estimated purchased customer relationships, developed technologies, trademark/tradename, patents, non-compete agreements 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 such assets.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Goodwill</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Goodwill is not amortized and is tested for impairment at least annually at the reporting unit level. The Company operates as one reporting unit as of the goodwill impairment measurement date of December 31, 2023. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the qualitative assessment of the Company&#8217;s </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">one</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> reporting unit during the 2023 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 31, 2023. 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. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment to goodwill and therefore </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment charge recorded for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company has historically tested for impairment on its goodwill annually as of its measurement date of December 31st pursuant to company policy. Subsequent to the 2023 annual impairment test, the Company voluntarily changed its annual impairment assessment date from December 31st to October 1st, the first day of the Company's fourth quarter, beginning on </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">October 1, 2024</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The change is being made to better align the annual impairment assessment date with the Company's annual planning and budgeting process as well as long-term planning and forecasting process.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company has determined this voluntary change in accounting principle is preferable and will not impact its consolidated financial statements nor is it being done to accelerate, avoid or trigger an impairment charge. This change is not going to be applied retrospectively as it is</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">impracticable </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to do so because retrospective application would require application of significant estimates and assumptions with the use of hindsight. Accordingly, the change will be applied prospectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intangible Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 (&#8220;R&amp;D&#8221;) 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 existed 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 31, 2023.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Indefinite-lived intangible assets are reviewed for impairment at least annually. There has been </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> impairment of our intangible assets for the periods presented.</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Stock Based Compensation</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Based Compensation</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company measures stock-based compensation cost at the grant date based on the estimated fair value of the award and recognizes it as an 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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company uses the Black-Scholes option pricing model to calculate the fair value of share-based awards on the grant date. The following assumptions are used in calculating the fair value of share-based awards:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected term</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected volatility</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Risk-free interest rate</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The risk-free interest rate is the implied yield available on U.S. treasury zero-coupon issues with a remaining term equal to the option&#8217;s expected term on the grant date.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Expected dividend yield</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#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. Accordingly, the Company uses an expected dividend yield of zero to calculate the grant-date fair value of a stock option.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Estimated forfeiture rates</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; The Company has applied, based on an analysis of its historical forfeitures, annual forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-employee members of the Board of Directors (&#8220;Board&#8221;) to all unvested stock options as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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.</span><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingCostsPolicyTextBlock', window );">Advertising Costs</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Advertising Costs</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company expenses advertising costs as they are incurred. Advertising expense for the years ended December 31, 2023, 2022 and 2021</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Standards Updates</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recent Accounting Standards Updates</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We consider the applicability and impact of all ASUs and other accounting guidance 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 guidance that we feel may be applicable to the Company are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recently Issued Accounting Guidance &#8211; Adopted During the Fiscal Year</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In July 2023, the U.S. Securities and Exchange Commission (the &#8220;SEC&#8221;) adopted the final rule under SEC Release No. 33-11216, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cybersecurity Risk Management, Strategy, Governance, and Incident Disclosure,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> requiring current reporting about material cybersecurity incidents and annual disclosures on management&#8217;s processes for assessing, identifying, and managing material cybersecurity risks, the material impacts of cybersecurity threats and previous cybersecurity incidents, the Board's oversight of cybersecurity risks, and management&#8217;s role and expertise in assessing and managing material cybersecurity risks. SEC Release No. 33-11216 was effective for us during the third quarter of 2023. The adoption of this guidance did not have a material impact on the Company&#8217;s consolidated financial statements and disclosures.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2022, the SEC adopted the final rule under SEC Release No. 33-11138,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> "Insider Trading Arrangements and Related Disclosures</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">," which requires new disclosures regarding insider trading policies and procedures, the use of Rule 10b5-1 plans by directors and officers, and stock option grants issued in close proximity to the release of material nonpublic information. SEC Release No. 33-11138 was effective for us for our second quarter of 2023, and did not have a material impact on our consolidated financial statements and disclosures.</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recently Issued Accounting Guidance &#8211; Not Yet Adopted</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2023, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued ASU 2023-09, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes (Topic 740) - Improvements to Income Tax Disclosures.&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ASU 2023-09 enhances the transparency and decision usefulness of income tax disclosures by requiring consistent categories and greater disaggregation of information in the rate reconciliation and income taxes paid disaggregated by jurisdiction. ASU 2023-09 will be effective for the Company in its income tax disclosure included in its 2025 Annual Report on Form 10-K and will be applied on a prospective basis. However, retrospective application is permitted. Early adoption is also permitted. Besides a change in income tax disclosures, the Company does not expect the adoption of ASU 2023-09 to have a material impact on its consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">    </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In November 2023, the FASB issued ASU 2023-07, &#8220;S</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">egment Reporting (Topic 820) - Improvements to Reportable Segment Disclosures.&#8221; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ASU </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2023-07 will improve reportable segment disclosure requirements, primarily through enhanced annual and interim disclosures about significant segment expenses that are regularly provided to the CODM. The disclosure required under  ASU 2023-07 are also required for public entities with a single reportable segment. ASU 2023-07 will be effective for the Company for annual periods beginning on January 1, 2024 and interim periods beginning on January 1, 2025. The amendments of this guidance apply retrospectively to all prior periods presented in the consolidated financial statements. Early adoption is</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">permitted. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Besides presentation in the segment footnote for its interim reporting, the Company does not expect the adoption of ASU 2023-07 to have a material impact on its consolidated financial statements.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AccruedLiabilitiesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accrued Liabilities, Policy [Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Risks and Uncertainties in Entities Business [Policy Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for advertising cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 35<br> -Topic 720<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483406/720-35-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480981/942-825-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-14<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 5A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479391/326-20-30-5A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-3C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 8A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479366/326-20-35-8A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-3D<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-5<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479175/326-30-30-1B<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-3C<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-3A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-3D<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 13A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479148/326-30-35-13A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 4A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479391/326-20-30-4A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 7A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479148/326-30-35-7A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-21<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-7<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-17<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.M.Q4)<br> -SubTopic 20<br> -Topic 326<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483530/326-20-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for (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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//830/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-25<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-19<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482105/912-330-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 840<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481440/840-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 840<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481501/840-20-50-4<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 840<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481161/840-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MarketableSecuritiesPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for investment classified as marketable security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480832/942-320-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecuritiesPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for segment reporting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482785/280-10-55-47<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.C.Q3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.1.Q5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.3.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2.Q6)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291471627312">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock', window );">Property, Plant and Equipment</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property, plant &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:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;">
         <tr style="visibility:collapse;">
          <td style="width:45.7%;"></td>
          <td style="width:1%;"></td>
          <td style="width:53.3%;"></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:bottom;"><p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Classification</span></p></td>
          <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated Useful Life</span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Buildings</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Thirty years</span></span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Leasehold improvements</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_833e71a6-5eeb-49e0-a78c-32c503c839cf;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Shorter of the term of the lease or estimated useful life</span></span></span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_5228bde0-a8f9-4d0e-8b0f-d7ad6cd002e0;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">twelve years</span></span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Furniture, fixtures and office equipment</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_f687d5a1-4081-4400-8f1a-6ce4fa87b8cf;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">eight years</span></span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Computer hardware and software</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_254e1113-308c-468a-ae2c-284636e490d3;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Three</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">seven years</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;or estimated useful life</span></p></td>
         </tr>
         <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vehicles</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Five years</span></span></p></td>
         </tr>
        </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Reconciliation of Basic and Diluted Shares Amounts</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A reconciliation of basic and diluted weighted average share outstanding is as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
         <tr style="visibility:collapse;">
          <td style="width:57.477%;"></td>
          <td style="width:1.399%;"></td>
          <td style="width:1%;"></td>
          <td style="width:10.776%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.399%;"></td>
          <td style="width:1%;"></td>
          <td style="width:10.776%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.399%;"></td>
          <td style="width:1%;"></td>
          <td style="width:10.776%;"></td>
          <td style="width:1%;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except per share data)</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Numerator:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">185,959</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128,291</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive securities:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;Charges associated with convertible debt instruments, net of tax</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">387</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41,577</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">186,346</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128,291</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Denominator:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average shares used in computing net income per<br/>&#160;&#160;&#160;share - basic</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,720</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,460</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,015</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive shares:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options and stock units</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">457</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">608</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">915</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible senior notes</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">181</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,360</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,253</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Dilutive effect of unvested performance stock units</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Dilutive potential common shares</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">657</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,995</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,249</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,377</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">57,455</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">57,264</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:5pt;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnings per share:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Basic</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.75</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.35</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.33</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Diluted</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.74</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.24</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.24</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the dilutive impact for the Company's </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.375</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2024 (the &#8220; 2019 Notes&#8221;) and its </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.00</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2028 (the &#8220;2023 Notes&#8221;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 14, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for more information.</span></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="Show.showAR( this, 'defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock', window );">Summary of Product Revenues by Product Line</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents product revenues by product line:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:59.272%;"></td>
          <td style="width:2%;"></td>
          <td style="width:1%;"></td>
          <td style="width:16.363%;"></td>
          <td style="width:1%;"></td>
          <td style="width:2%;"></td>
          <td style="width:1%;"></td>
          <td style="width:16.363%;"></td>
          <td style="width:1%;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span><span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;">(1)</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Filtration products</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">347,781</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">495,930</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Chromatography products</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126,629</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">131,680</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Process analytics products</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,820</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">53,512</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Proteins products</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">103,463</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">114,320</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,688</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,741</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total product revenue</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">638,381</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,183</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><p style="margin-left:4.667%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.75pt solid;margin-right:84.667%;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) from April 17, 2023, as well as Metenova Holding AB (&#8220;Metenova&#8221;) from October 2, 2023.</span></div></div><div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(2)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2021 revenue for filtration products includes revenue related to Polymem S.A. (&#8220;Polymem&#8221;) from July 1, 2021, as well as BioFlex Solutions LLC (&#8220;BioFlex&#8221;) and Newton T&amp;M Corp. (&#8220;NTM&#8221;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#8220;Avitide&#8221;) from September 20, 2021 through December 31, 2021. </span></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="Show.showAR( this, 'defref_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock', window );">Total Assets by Geographic Area</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:66.993%;"></td>
          <td style="width:1.62%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.883000000000001%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.62%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.883000000000001%;"></td>
          <td style="width:1%;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets by geographic locations:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,371,208</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,209,244</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">426,034</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">287,543</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,169</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,871</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total assets by geographic location</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,824,411</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,524,658</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
        </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock', window );">Long Lived Assets by Geographic Area</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s long-lived assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:66.993%;"></td>
          <td style="width:1.62%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.883000000000001%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.62%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.883000000000001%;"></td>
          <td style="width:1%;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-lived assets by geographic locations:</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">278,033</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">275,151</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,280</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">38,541</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,919</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,819</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total long-lived assets by geographic location</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">324,232</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">316,511</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></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="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="Show.showAR( this, 'defref_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock', window );">Percentage by Geographic Area or Significant Customers</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the Company&#8217;s total revenue by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented (based on the location of the customer):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
        <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:57.409%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:11.177999999999999%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:11.177999999999999%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:11.238%;"></td>
          <td style="width:1%;"></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
          <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
          <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue by customers' geographic locations:</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">North America</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Europe</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">40</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
          <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">APAC/Other</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
         <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
          <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
         </tr>
        </table><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Property And Equipment Useful Lives Table [Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the names of foreign countries 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-21<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-18<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-20<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-16<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-21<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=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>38
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291476508224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock', window );">Summary of Cash, Cash Equivalents and Marketable Securities Held to Maturity</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the Company's cash, cash equivalents and marketable securities held to maturity as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:95.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:46.731%;"></td>
        <td style="width:1.78%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.538%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.78%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.538%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.78%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.538%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.78%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.538%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized<br/>&#160;Costs</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Gains</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Losses</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash and cash equivalents:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and money market funds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash and cash equivalents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">751,323</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized <br/>Cost</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Gains</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Unrealized<br/>Losses</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Cash and cash equivalents:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and money market funds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash and cash equivalents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">523,458</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Marketable securities held to maturity:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">U.S. treasury bills - short-term</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,299</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,323</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash, cash equivalents and marketable securities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">623,757</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">623,781</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></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="Show.showAR( this, 'defref_rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock', window );">Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The amortized cost and fair value of the Company's held to maturity securities by contractual maturity at December 31, 2022 are summarized below. There were no comparable investments as of December 31, 2023:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:56.949%;"></td>
        <td style="width:2.699%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.477%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.699%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.477%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.699%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortized<br/>&#160;Costs</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated<br/>Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Maturity of one year or less</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,299</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,323</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;">
        <td style="background-color:#cff0fc;text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,299</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100,323</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock', window );">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Financial assets and financial liabilities measured at fair value on a recurring basis consist of the following as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:47.819%;"></td>
        <td style="width:1.24%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.804%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.24%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.804%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.24%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.804%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.24%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.804%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 1</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 2</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 3</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Assets:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Money market accounts</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">658,574</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">658,574</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Liabilities:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Short-term contingent consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,983</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,983</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-term contingent consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,070</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,070</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="text-indent:10pt;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 1</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 2</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Level 3</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Assets:</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Money market accounts</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">343,929</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">343,929</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Liabilities:</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Short-term contingent consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,950</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,950</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long-term contingent consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">51,559</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">51,559</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock', window );">Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A reconciliation of the change in fair value of contingent consideration &#8211; earnout is included in the following table (amounts in thousands):</span><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:78.56%;"></td>
        <td style="width:2.1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.34%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2022</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65,509</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition date fair value of contingent consideration earnouts</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,640</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of contingent consideration earnouts</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,527</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Decrease in fair value of contingent consideration earnouts</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,569</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,053</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock', window );">Schedule of Contingent Consideration Earnout Expect to be Required to Settle Include Significant Unobservable Inputs</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The recurring Level 3 fair value measurement of our contingent consideration &#8211; earnout that we expect to be required to settle our 2023, 2024 and 2025 contingent consideration obligation for Avitide, FlexBiosys and Metenova include the following significant unobservable inputs (amounts in thousands, except percent data):</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:18.524%;"></td>
        <td style="width:1.74%;"></td>
        <td style="width:1.08%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.903%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.163%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:16.383%;"></td>
        <td style="width:1.74%;"></td>
        <td style="width:11.942%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:13.283%;"></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Contingent Consideration Earnout</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="3" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value as of<br/>&#160;December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Valuation Technique</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Unobservable Input</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Range</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted Average</span><span style="color:#000000;top:-4.221pt;white-space:pre-wrap;font-weight:bold;font-size:6.03pt;position:relative;min-width:fit-content;">(1)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability of</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Success</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Commercialization-based payments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">20,094</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Monte Carlo<br/>Simulation</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.8</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.9</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.9</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Volatility</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">12.5</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">24.6</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.9</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue and Volume-<br/>based payments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,454</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Monte Carlo<br/>Simulation</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue &amp; Volume<br/>Discount Rate</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.5</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9.3</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.3</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.8</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.2</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.1</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability of<br/>&#160;Success</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Manufacturing line expansions</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,505</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Probability-weighted present value</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Earnout Discount Rate</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.1</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%-</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.4</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.3</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">%</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">Unobservable inputs were weighted by the relative fair value of the contingent consideration liability.</span></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_rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of cash, cash equivalents, and marketable securities held to maturity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock</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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the fair value held to maturity securities by contractual maturity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock</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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of input and valuation technique used to measure fair value and change in valuation approach and technique for each separate class of asset and liability measured on recurring and nonrecurring basis.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)<br> -SubTopic 10<br> -Topic 820<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 820<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291471327696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions (Tables)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember', window );">BioFlex And NTM Acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"></td>
        <td style="width:1.94%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.823%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,870</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,408</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">741</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,034</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,240</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,540</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">310</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">60</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,834</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax asset</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">224</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">450</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,030</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31,571</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock', window );">Schedule of Identified Intangible Assets and Estimated Useful Lives</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the NTM Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;"></td>
        <td style="width:1.82%;"></td>
        <td style="width:19.884%;"></td>
        <td style="width:1.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.604%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,240</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,540</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">310</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">60</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,150</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock', window );">Schedule of Business Combination Consideration Transferred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total consideration transferred is as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"></td>
        <td style="width:1.94%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.823%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">74,962</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equity consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">82,968</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration - earnout</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">88,373</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">246,303</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and estimated allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"></td>
        <td style="width:1.94%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.823%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">572</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">228</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">332</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">114</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,862</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use asset</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,648</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,580</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,650</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,210</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">210</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">197,476</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax asset</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,525</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts payable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">215</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,183</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">698</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,950</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">58</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">246,303</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock', window );">Schedule of Identified Intangible Assets and Estimated Useful Lives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the Avitide Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;"></td>
        <td style="width:1.82%;"></td>
        <td style="width:19.884%;"></td>
        <td style="width:1.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.604%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,580</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,650</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,210</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">210</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">46,650</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember', window );">Polymem S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components and final allocation of the purchase price consist of the following (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"></td>
        <td style="width:1.94%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.823%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">353</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net working capital (excluding cash and inventory<br/>&#160;&#160;&#160;&#160;&#160;step-up)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">414</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory step-up</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">543</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,424</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,145</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,274</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradenames</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">510</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-compete agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">312</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,680</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,253</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Long term deferred tax liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,327</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other long-term liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">143</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair value of net assets acquired</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:bold;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">46,973</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock', window );">Schedule of Identified Intangible Assets and Estimated Useful Lives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the components of the identified intangible assets associated with the Polymem Acquisition and their estimated useful lives:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.871%;"></td>
        <td style="width:1.82%;"></td>
        <td style="width:19.884%;"></td>
        <td style="width:1.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.604%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Useful life</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,274</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademark and tradename</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">510</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-competition agreements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5 years</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">312</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,096</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of business combination consideration transferred.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of finite-lived intangible assets acquired as part of a business combination or through an asset purchase, by major class and in total, including the value of the asset acquired, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Paragraph 1<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember</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_AvitideIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember</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_PolymemSAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember</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>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291485567568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring Plan (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringAndRelatedActivitiesAbstract', window );"><strong>Restructuring and Related Activities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock', window );">Summary of Restructuring Activities by Type of Cost</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the charges related to restructuring activities by type of cost:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:28.071%;"></td>
        <td style="width:1.281%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.825%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.281%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.905%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.281%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.624%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.281%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.264%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.281%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.904%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="18" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Year Ended December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Severance &amp; Employee-Related Costs</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Inventory Adjustments</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accelerated Depreciation</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Facility and Other Exit Costs</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="18" style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,077</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">23,588</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,788</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">933</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,386</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">116</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">116</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,532</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">28</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">138</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,698</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,725</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">23,588</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,816</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,071</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,200</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock', window );">Summary of Activity Related to Restructuring Plan</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Activity related to the Restructuring Plan for 2023 was as follows (amounts in thousands):</span>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:32.326%;"></td>
        <td style="width:1.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.903%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.143%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.523%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.102%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Restructuring Costs</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amounts Paid in 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Non-Cash Restructuring Items</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Restructuring Liability</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Severance &amp; employee-related costs</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,725</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,044</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">217</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">464</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory adjustments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">23,588</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">23,588</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accelerated depreciation</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,816</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,816</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Facility exit and other exit costs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,071</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,061</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;word-break:break-word;">
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,200</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,105</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">27,631</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">464</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></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_RestructuringAndRelatedActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringAndRelatedActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfRestructuringAndRelatedCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of costs incurred for restructuring including, but not limited to, exit and disposal activities, remediation, implementation, integration, asset impairment, and charges against earnings from the write-down of assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 5.P.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.P.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost. This element may also include a description of any reversal and other adjustment made during the period to the amount of an accrued liability for restructuring activities. This element may be used to encapsulate the roll forward presentations of an entity's restructuring reserve by type of cost and in total, and explanation of changes that occurred in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291485875104">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Summary of Maturities of Operating Lease Liabilities</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The maturities of the Company&#8217;s operating lease liabilities as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 are as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:72.84%;"></td>
        <td style="width:2.2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:22.959999999999997%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">As of December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,585</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2025</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,645</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2026</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,406</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2027</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">23,944</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2028</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,382</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2029 and thereafter</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">79,435</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total future minimum lease payments</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">201,397</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less lease incentives</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,765</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less amount of lease payment representing interest</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">32,595</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total operating lease liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">159,037</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">The future minimum lease payments include obligations for leases not yet commenced of $</span><span style="font-size:9pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">26.8</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> million for manufacturing, office and warehouse facilities. These leases have terms of between </span><span style="font-size:9pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">5</span></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="font-size:9pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">10</span></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> years and commence during the first quarter of 2024.</span></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="Show.showAR( this, 'defref_rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock', window );">Summary of Operating Lease Liability</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total operating lease liabilities included on the Company&#8217;s consolidated balance sheets are as follows (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.28%;"></td>
        <td style="width:1.74%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.619999999999997%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.74%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.619999999999997%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,631</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,957</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liability, long-term</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126,578</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">131,389</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Minimum operating lease payments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">132,209</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">138,346</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Summary of Operating Lease Cost</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021, total lease cost is comprised of the following:</span><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:44.489%;"></td>
        <td style="width:1.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.083%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.083%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.083%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Lease Cost</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,981</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,833</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,838</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Variable operating lease cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,075</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11,317</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,118</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Lease cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,056</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">29,150</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,956</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></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="Show.showAR( this, 'defref_rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock', window );">Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following information represents supplemental disclosure for the consolidated statements of cash flows related to operating leases (amounts in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:44.489%;"></td>
        <td style="width:1.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.083%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.083%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.083%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,862</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,757</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,863</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock', window );">Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The weighted average remaining lease term and the weighted average discount rate used to measure the Company&#8217;s operating lease liabilities as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, were:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:75.735%;"></td>
        <td style="width:1.42%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.844%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average remaining lease term (years)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7.74</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted average discount rate</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.13</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>na</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of discount rate and remaining lease term of operating and financial leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of supplemental disclosure for the consolidated statements of cash flows related to operating leases</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480683920">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Disaggregation of Revenue</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 was as follows:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49.24%;"></td>
        <td style="width:1.66%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.66%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.66%;"></td>
        <td style="width:15.26%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;">
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Product revenue</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">638,381</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,183</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Royalty and other income</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">383</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">353</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;word-break:break-word;">
        <td style="background-color:#cff0fc;text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">638,764</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">801,536</span></p></td>
        <td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Summary of Receivables and Deferred Revenue from Contracts with Customers</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides information about receivables and deferred revenue from contracts with customers as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 (amounts in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:70.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.72%;"></td>
        <td style="width:1.64%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.040000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.64%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.96%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balances from contracts with customers only:</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">124,161</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">116,247</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred revenue (included in accrued liabilities and<br/>&#160;&#160;&#160;other noncurrent liabilities in the consolidated <br/>&#160;&#160;&#160;balance sheets)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,755</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,631</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue recognized during periods presented relating to:</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">The beginning deferred revenue balance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18,751</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,390</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480422320">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock', window );">Summary Of Allowance For Credit Losses For Accounts Receivables</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides a roll-forward of the allowance for credit losses in 2023 and 2022 that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (amounts in thousands):</span><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of allowance for credit losses, beginning of period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,365</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,417</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current period change for write-offs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">82</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current period change for expected credit losses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">839</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">74</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of allowance for credit losses, end of period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,122</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,365</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480247520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Changes in Carrying Value of Goodwill</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table represents the changes in the carrying value of goodwill for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 and 2022 (amounts in thousands):</span><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"></td>
        <td style="width:1.94%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.823%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2021</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">860,362</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Measurement period adjustment - BioFlex</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">346</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Measurement period adjustment - Avitide</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,768</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cumulative translation adjustment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,735</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2022</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">855,513</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of FlexBiosys, Inc.</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,321</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of Metenova Holding AB</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">115,778</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cumulative translation adjustment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,508</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">987,120</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Intangible Assets</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets, net consisted of the following at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.31%;"></td>
        <td style="width:1.18%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.258000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.18%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.278%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.298%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.138%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Carrying<br/>Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>Amortization</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net<br/>Carrying<br/>Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Useful Life<br/>(in years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Finite-lived intangible assets:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Technology - developed</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">249,594</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44,162</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">205,432</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Patents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">269,949</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">83,963</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">185,986</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,757</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,789</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,968</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other intangibles</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,914</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,514</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,400</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total finite-lived intangible assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">532,454</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">132,668</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">399,786</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Indefinite-lived intangible asset:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">700</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">700</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total intangible assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">533,154</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">132,668</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">400,486</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets consisted of the following at December 31, 2022:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.31%;"></td>
        <td style="width:1.18%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.258000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.18%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.278%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.298%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.138%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross<br/>Carrying<br/>Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>Amortization</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net<br/>Carrying<br/>Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Useful Life<br/>(in years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Finite-lived intangible assets:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Technology - developed</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">190,463</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,992</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">159,471</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Patents</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">252,934</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">66,559</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">186,375</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,682</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,319</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,363</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other intangibles</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,811</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,044</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">767</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total finite-lived intangible assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">454,130</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101,154</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">352,976</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Indefinite-lived intangible asset:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trademarks</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">700</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">700</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total intangible assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">454,830</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101,154</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">353,676</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock', window );">Schedule of Amortization Expense for Amortized Intangible Assets</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, the Company expects to record the following amortization expense (amounts in thousands): </span><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:80.236%;"></td>
        <td style="width:1.94%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.823%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Estimated</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amortization</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Expense</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34,314</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2025</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,879</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2026</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,524</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2027</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,421</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2028</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">32,689</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2029 and thereafter</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">231,959</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">399,786</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Finite Lived And Indefinite Lived Intangible Assets [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1A<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291479164640">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Inventories</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Inventories, net</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories, net consists of the following:</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Raw materials</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">123,598</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">149,438</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Work-in-process</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,492</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,183</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Finished products</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">74,231</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">82,656</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total inventories, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">202,321</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">238,277</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock', window );">Prepaid Expenses and Other Current Assets</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Prepaid Expenses and Other Current Assets</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prepaid expenses and other current assets consist of the following:</span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment maintenance and services</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,605</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,135</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid income taxes</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,229</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">519</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid insurance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,087</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,909</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,317</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,274</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total prepaid expenses and other current assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,238</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,837</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Property, Plant and Equipment</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Property, Plant and Equipment</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property, plant and equipment consist of the following:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Land</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">992</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,003</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Buildings</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,667</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,599</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Leasehold improvements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126,663</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">115,672</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">114,606</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">94,613</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Furniture, fixtures and office equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,077</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,307</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Computer hardware and software</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,528</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">29,813</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Construction in progress</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">47,086</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31,553</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">544</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">420</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total property, plant and equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">336,163</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">282,980</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less - Accumulated depreciation</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128,723</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">92,307</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total property, plant and equipment, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">207,440</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">190,673</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Accrued Liabilities</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued Liabilities</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accrued liabilities consist of the following:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Employee compensation</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,660</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,522</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred revenue</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,287</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,283</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income taxes payable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,814</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,459</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,772</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15,856</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total accrued liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">50,533</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">71,120</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291471365184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock', window );">Income Before Income Taxes</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of income before income taxes are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.477%;"></td>
        <td style="width:1.399%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.776%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.399%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.776%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.399%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.776%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Domestic</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,601</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">153,446</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,984</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,733</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65,694</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">71,559</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">64,132</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">219,140</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">153,543</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Income Tax Provision (Benefit)</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of the income tax provision are as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.477%;"></td>
        <td style="width:1.399%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.776%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.399%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.776%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.399%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.776%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Components of the income tax provision:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Current</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,238</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34,800</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,166</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,317</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,619</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,086</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,555</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,181</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,252</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Jurisdictional components of the income tax provision:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Federal</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,512</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,662</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,321</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">State</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">142</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,381</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,251</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18,901</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,138</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15,680</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,555</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,181</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,252</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Consolidated Deferred Tax Assets (Liabilities)</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of deferred income taxes are as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.993%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.883000000000001%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax assets:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,120</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,323</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating leases</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,727</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">31,564</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Capitalized research and development</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,568</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,102</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inventory</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,131</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,983</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net operating loss carryforwards</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,578</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,808</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Business tax credit carryforwards</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,697</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,639</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,314</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,440</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total deferred tax assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,135</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">68,859</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less: valuation allowance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net deferred tax assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,115</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">68,840</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liabilities:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Fixed assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,716</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18,965</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquired intangible assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">56,956</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,549</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease right of use assets</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">26,373</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">28,486</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Debt discount</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">19,006</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total deferred tax liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">120,051</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">91,000</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total net deferred tax liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">38,936</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,160</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Reconciliation of Federal Statutory Rate to Effective Income Tax Rate</a></td>
<td class="text"><p style="margin-left:1.667%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The reconciliation of the federal statutory rate to the effective income tax rate for the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 is as follows:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:92.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:33.94%;"></td>
        <td style="width:1.04%;"></td>
        <td style="width:1%;"></td>
        <td style="width:7.54%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:8.44%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.04%;"></td>
        <td style="width:1%;"></td>
        <td style="width:7.54%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:8.44%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.04%;"></td>
        <td style="width:1%;"></td>
        <td style="width:7.54%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:8.44%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="22" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="22" style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands, except percentages)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">64,132</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">219,140</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">153,543</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected tax at statutory rate</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,469</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">46,020</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,247</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjustments due to:</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Difference between U.S. and foreign tax</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,084</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.7</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,024</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.5</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">530</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">State income taxes</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,387</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,509</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.6</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,462</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Business tax credits</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,522</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.1</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,139</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.3</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,239</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.5</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,461</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.8</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,638</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.6</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,049</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.9</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">U.S. taxation of foreign earnings</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">343</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.5</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">83</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign-derived intangible income</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">88</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,042</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.3</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,547</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.7</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Executive compensation</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,084</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.8</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,441</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.5</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,397</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,412</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">10.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,033</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.8</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,232</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.8</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Loss on extinguishment of debt</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,634</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.1</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Debt discount</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">16,650</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">26.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign exchange loss</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,288</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.6</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Uncertain tax provisions</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">165</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">234</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">443</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Change in valuation allowance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">688</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">48</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Return to provision adjustments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,255</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">498</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">50</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">765</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">92</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;">(</span><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.0</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">730</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.5</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax provision</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">22,555</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">35.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">33,181</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">15.1</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">25,252</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;">16.4</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SummaryOfIncomeTaxExaminationsTextBlock', window );">Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:78.98%;"></td>
        <td style="width:2.06%;"></td>
        <td style="width:18.96%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Jurisdiction</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Fiscal Years Subject to Examination</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">United States - federal and state</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2019</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2023</span></span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Sweden</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2018</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2023</span></span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock', window );">Reconciliation of Unrecognized Tax Benefits</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following is a tabular reconciliation of the total amounts of unrecognized tax benefits:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:65.266%;"></td>
        <td style="width:1.701%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.665000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.701%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.665000000000001%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of gross unrecognized tax benefits, beginning of period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,996</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,786</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of increases in unrecognized tax benefits as a result <br/>&#160;&#160;&#160;&#160;&#160;of tax positions taken in the current period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">178</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">146</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of increases in unrecognized tax benefits as a result <br/>&#160;&#160;&#160;&#160;&#160;of tax positions taken in the prior period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">53</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">64</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Gross amounts of decreases due to release</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">88</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance of gross unrecognized tax benefits, end of period</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,139</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,996</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 9<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 12<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of income before income tax between domestic and foreign jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SummaryOfIncomeTaxExaminationsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482663/740-10-55-217<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291485546864">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Stock-Based Compensation Expense</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table presents stock-based compensation expense in the Company&#8217;s consolidated statements of comprehensive income: </span><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.437%;"></td>
        <td style="width:1.339%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.816%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.339%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.836%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.339%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.896%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of product revenue</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,933</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,525</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,021</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,855</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,622</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,856</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,787</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,169</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,623</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total stock-based compensation</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,575</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,316</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,500</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Estimated Weighted Average Assumptions</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The fair value of stock option awards granted during the years ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, 2022 and 2021 were calculated using the following estimated assumptions:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:51.27%;"></td>
        <td style="width:1.6%;"></td>
        <td style="width:14.643%;"></td>
        <td style="width:1.6%;"></td>
        <td style="width:14.643%;"></td>
        <td style="width:1.6%;"></td>
        <td style="width:14.643%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="5" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">For the Years Ended December 31,</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2021</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected term (in years)</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.14</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.5</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.5</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.5</span></span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected volatility (range)</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44.78</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">46.58</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">41.44</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43.96</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">44.57</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45.27</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Risk-free interest rate</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.56</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.71</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1.86</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.07</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.77</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1.07</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Expected dividend yield</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Summary of Option Activity</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information regarding option activity for the year ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, under the Plans is summarized below:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:50.11%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.662%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.22%;"></td>
        <td style="width:1%;"></td>
        <td style="width:8.942%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.662%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.22%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.182%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Shares</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>average<br/>exercise<br/>price</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted-<br/>Average<br/>Remaining<br/>Contractual<br/>Term<br/>(in Years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Aggregate<br/>Intrinsic<br/>Value<br/>(in Thousands)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options outstanding at December 31, 2022</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">609,965</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">71.74</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Granted</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">90,305</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">168.22</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercised</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">40,211</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">26.76</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited/expired/cancelled</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,929</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">189.46</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options outstanding at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">649,130</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">85.97</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options exercisable at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">364,443</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65.53</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested and expected to vest at December 31, 2023</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">635,834</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">85.49</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.59</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">61,888</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested options as of December 31, 2023 plus the number of unvested options expected to vest as of December 31, 2023, based on the unvested outstanding options at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></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="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock', window );">Summary of Restricted Stock Unit Activity</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information regarding stock unit activity, which includes activity for restricted stock units and performance stock units, for the year ended </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023 under the Plans is summarized below:</span><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:65.92%;"></td>
        <td style="width:1.12%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.12%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.6%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.64%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.6%;"></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Shares</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted Average<br/>Grant Date<br/>Fair Value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested at December 31, 2022</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">531,034</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">142.57</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Awarded</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">212,338</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">170.03</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">195,672</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">124.58</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited/cancelled</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">73,380</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">177.81</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">474,320</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">155.59</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested and expected to vest at December 31, 2023</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">413,249</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">152.74</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested stock units as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, plus the number of unvested stock units expected to vest as of December 31, 2023, based on the unvested outstanding stock units at December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></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_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (f)(2)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291482729040">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleDebtTableTextBlock', window );">Carrying Value of Convertible Senior Notes</a></td>
<td class="text"><p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The carrying value of the Company&#8217;s convertible senior notes is as follows:</span></p><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.08%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.84%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.84%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,<br/>2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,<br/>2022</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Amounts in thousands)</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">0.375% Convertible Senior Notes due 2024:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Principal amount</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">69,700</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">287,470</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt issuance costs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">248</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,855</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Carrying amount - Convertible Senior Notes due 2024, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">69,452</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">284,615</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">1.00% Convertible Senior Notes due 2028:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Principal amount</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">600,000</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt discount</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,457</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unamortized debt issuance costs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,400</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Carrying amount - Convertible Senior Notes due 2028, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">510,143</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of convertible debt instrument. Includes, but is not limited to, principal amount and amortized premium or discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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>49
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480377248">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Organization and Nature of Business - Additional Information (Detail)<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>Sites</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_NumberOfManufacturingSites', window );">Number of manufacturing sites</a></td>
<td class="nump">19<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_NumberOfManufacturingSites">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of manufacturing sites.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_NumberOfManufacturingSites</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:integerItemType</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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291474331664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Additional Information (Detail)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Mar. 04, 2022 </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>ReportingUnit </div>
<div>Segment </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 14, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jul. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jul. 19, 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="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">56,377<span></span>
</td>
<td class="nump">57,455<span></span>
</td>
<td class="nump">57,264<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestOnConvertibleDebtNetOfTax', window );">Charges associated with convertible debt instruments, net of tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 387,000<span></span>
</td>
<td class="nump">$ 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, beginning of period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 523,458,000<span></span>
</td>
<td class="nump">$ 603,814,000<span></span>
</td>
<td class="nump">$ 717,292,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="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Common stock excluded from calculation of diluted earnings per share | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">306,849<span></span>
</td>
<td class="nump">177,318<span></span>
</td>
<td class="nump">68,968<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="Show.showAR( this, 'defref_rgen_DilutiveEffectOnSharesOfConversionPremium', window );">Dilutive effect on shares of conversion premium | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,359,957<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingExpense', window );">Advertising Expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 800,000<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="nump">$ 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">638,764,000<span></span>
</td>
<td class="nump">801,536,000<span></span>
</td>
<td class="nump">670,534,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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ContingentConsiderationObligationEstimated', window );">Contingent Consideration Obligation Estimated</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (30,600,000)<span></span>
</td>
<td class="num">(28,700,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="Show.showAR( this, 'defref_us-gaap_NumberOfReportingUnits', window );">Number of reporting units | ReportingUnit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReasonForChangeInDateOfAnnualGoodwillImpairmentTest', window );">Reason for change in impairment assessment date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">The change is being made to better align the annual impairment assessment date with the Company's annual planning and budgeting process as well as long-term planning and forecasting process.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewDateOfAnnualGoodwillImpairmentTest', window );">Impairment assessment date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">October 1, 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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Impairment to goodwill</a></td>
<td class="text">&#160;<span></span>
</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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetImpairmentCharges', window );">Impairment charges</a></td>
<td class="text">&#160;<span></span>
</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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill', window );">Impairment of intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfOperatingSegments', window );">Number of operating segments | Segment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales Revenue | 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202006Member', window );">Accounting Standards Update 2020-06</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="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted | shares</a></td>
<td class="nump">3,474,429<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestOnConvertibleDebtNetOfTax', window );">Charges associated with convertible debt instruments, net of tax</a></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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate 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="nump">$ 69,700,000<span></span>
</td>
<td class="nump">$ 287,500,000<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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">69,700,000<span></span>
</td>
<td class="nump">287,470,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">217,700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028</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="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">600,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">290,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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 600,000,000<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">309,900,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="Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash</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">$ 290,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum | Sales Revenue | 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<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="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember', window );">Restricted Stock Units and Performance Stock Units | 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="text">&#160;<span></span>
</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="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember', window );">Restricted Stock Units and Performance Stock Units | 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="text">&#160;<span></span>
</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="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="text">&#160;<span></span>
</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="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="text">&#160;<span></span>
</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="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="text">&#160;<span></span>
</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="Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_PfizerMember', window );">Pfizer</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="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</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">$ 68,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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_PfizerMember', window );">Pfizer | Sales Revenue | 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_PfizerMember', window );">Pfizer | Minimum | Sales Revenue | 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_CustomerNumberOneMember', window );">Customer Number One | Accounts Receivable | 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<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="Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_PuroliteMember', window );">Purolite | Accounts Receivable | 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.70%<span></span>
</td>
<td class="text">&#160;<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_ContingentConsiderationObligationEstimated">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contingent Consideration Obligation Estimated</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ContingentConsiderationObligationEstimated</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_DilutiveEffectOnSharesOfConversionPremium">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Dilutive effect on shares of conversion premium.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DilutiveEffectOnSharesOfConversionPremium</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_PercentageOfSharesSubjectToForfeiture">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of shares subject to forfeiture.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Summary Of Significant Accounting Policies [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 720<br> -SubTopic 35<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483406/720-35-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482130/360-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of an intangible asset (excluding goodwill) to fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InterestOnConvertibleDebtNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of interest recognized on convertible debt instrument excluding interest on principal required to be paid in cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-40<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestOnConvertibleDebtNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_NewDateOfAnnualGoodwillImpairmentTest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The new date of the annual goodwill impairment test.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewDateOfAnnualGoodwillImpairmentTest</td>
</tr>
<tr>
<td style="padding-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_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-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_NumberOfReportingUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportingUnits</td>
</tr>
<tr>
<td style="padding-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_ReasonForChangeInDateOfAnnualGoodwillImpairmentTest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The reason for any change to the date of the annual goodwill impairment test.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReasonForChangeInDateOfAnnualGoodwillImpairmentTest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202006Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202006Member</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_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_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_NonEmployeeDirectorStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_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_PfizerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgen_PfizerMember</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_CustomerNumberOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgen_CustomerNumberOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgen_PuroliteMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgen_PuroliteMember</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>51
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291473742336">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Estimated Useful Life of Assets (Detail)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_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="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="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="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="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="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration', window );">Property, Plant, and Equipment, Useful Life, Term, Description [Extensible Enumeration]</a></td>
<td class="text">us-gaap:UsefulLifeShorterOfTermOfLeaseOrAssetUtilityMember<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember', window );">Vehicles [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">5 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_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates description of term of useful life for property, plant, and equipment when not stated as numeric value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482190/360-10-35-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=rgen_FurnitureFixturesAndOfficeEquipmentMemberMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember</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>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291473624448">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (Detail) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract', window );"><strong>Numerator:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 41,577<span></span>
</td>
<td class="nump">$ 185,959<span></span>
</td>
<td class="nump">$ 128,291<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DilutiveSecuritiesAbstract', window );"><strong>Effect of dilutive securities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestOnConvertibleDebtNetOfTax', window );">Charges associated with convertible debt instruments, net of tax</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">387<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToParentDiluted', window );">Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 41,577<span></span>
</td>
<td class="nump">$ 186,346<span></span>
</td>
<td class="nump">$ 128,291<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAbstract', window );"><strong>Denominator:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_NumberOfSharesBasicOutstanding', window );">Weighted average shares used in computing net income per share - basic</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">55,720<span></span>
</td>
<td class="nump">55,460<span></span>
</td>
<td class="nump">55,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="Show.showAR( this, 'defref_rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract', window );"><strong>Effect of dilutive shares:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesRestrictedStock', window );">Options and stock units</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">457<span></span>
</td>
<td class="nump">608<span></span>
</td>
<td class="nump">915<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes', window );">Convertible Senior Notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">181<span></span>
</td>
<td class="nump">1,360<span></span>
</td>
<td class="nump">1,253<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration', window );">Contingent consideration</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">8<span></span>
</td>
<td class="nump">11<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits', window );">Dilutive effect of unvested performance stock units</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">11<span></span>
</td>
<td class="nump">16<span></span>
</td>
<td class="nump">81<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Dilutive potential common shares</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">657<span></span>
</td>
<td class="nump">1,995<span></span>
</td>
<td class="nump">2,249<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">56,377<span></span>
</td>
<td class="nump">57,455<span></span>
</td>
<td class="nump">57,264<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0.75<span></span>
</td>
<td class="nump">$ 3.35<span></span>
</td>
<td class="nump">$ 2.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="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0.74<span></span>
</td>
<td class="nump">$ 3.24<span></span>
</td>
<td class="nump">$ 2.24<span></span>
</td>
</tr>
<tr><td colspan="4"></td></tr>
<tr><td colspan="4"><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"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the dilutive impact for the Company's </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.375</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2024 (the &#8220; 2019 Notes&#8221;) and its </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.00</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2028 (the &#8220;2023 Notes&#8221;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 14, &#8220;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#8221;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for more information.</span></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_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Dilutive securities effect on basic earnings per share contingent consideration.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration</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_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Dilutive securities effect on basic earnings per share convertible senior notes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes</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_DilutiveSharesEffectOnBasicEarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>DilutivesharesAbstract</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract</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_NumberOfSharesBasicOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares basic outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_NumberOfSharesBasicOutstanding</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_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average number of shares dilutive effect of unvested performance stock units.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits</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_us-gaap_DilutiveSecuritiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestOnConvertibleDebtNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of interest recognized on convertible debt instrument excluding interest on principal required to be paid in cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-40<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestOnConvertibleDebtNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAttributableToParentDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent, and includes adjustments resulting from the assumption that dilutive convertible securities were converted, options or warrants were exercised, or that other shares were issued upon the satisfaction of certain conditions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToParentDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_NetIncomeLossAvailableToCommonStockholdersBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract</td>
</tr>
<tr>
<td style="padding-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_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesRestrictedStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>53
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291485399984">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (parenthetical) (Detail)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Jul. 19, 2019</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Notes, interest rate</a></td>
<td class="nump">0.375%<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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Notes, interest rate</a></td>
<td class="nump">1.00%<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_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</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>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291471643904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Summary of Product Revenues by Product Line (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th" colspan="2"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</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="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 638,764<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 801,536<span></span>
</td>
<td class="nump">$ 670,534<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgen_FiltrationProductsMember', window );">Filtration Products [Member]</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="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</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="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">347,781<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">495,930<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgen_ChromatographyProductsMember', window );">Chromatography Products [Member]</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="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</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="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">126,629<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">131,680<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgen_ProcessAnalyticsProductsMember', window );">Process Analytics Products [Member]</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="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</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="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">56,820<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">53,512<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgen_ProteinsProductsMember', window );">Proteins Products [Member]</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="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</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="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">103,463<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">114,320<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgen_OtherProductsMember', window );">Other products [Member]</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="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</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="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">3,688<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">5,741<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_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="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</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="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 638,381<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 801,183<span></span>
</td>
<td class="nump">$ 670,319<span></span>
</td>
</tr>
<tr><td colspan="5"></td></tr>
<tr><td colspan="5"><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"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) from April 17, 2023, as well as Metenova Holding AB (&#8220;Metenova&#8221;) from October 2, 2023.</span></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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgen_FiltrationProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291473685072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - 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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</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="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="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="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="nump">44.00%<span></span>
</td>
<td class="nump">43.00%<span></span>
</td>
<td class="nump">41.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="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="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="nump">37.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="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="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="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="nump">19.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">19.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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481027/954-310-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=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>56
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291473651952">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Total Assets by Geographic Area (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_Assets', window );">Assets</a></td>
<td class="nump">$ 2,824,411<span></span>
</td>
<td class="nump">$ 2,524,658<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=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="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="Show.showAR( this, 'defref_us-gaap_Assets', window );">Assets</a></td>
<td class="nump">2,371,208<span></span>
</td>
<td class="nump">2,209,244<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=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="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="Show.showAR( this, 'defref_us-gaap_Assets', window );">Assets</a></td>
<td class="nump">426,034<span></span>
</td>
<td class="nump">287,543<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=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="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="Show.showAR( this, 'defref_us-gaap_Assets', window );">Assets</a></td>
<td class="nump">$ 27,169<span></span>
</td>
<td class="nump">$ 27,871<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=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>57
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291476367376">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Long Lived Assets by Geographic Area (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_rgen_AssetsNonCurrentExcludingDifferedTaxAssets', window );">Long Lived Assets</a></td>
<td class="nump">$ 324,232<span></span>
</td>
<td class="nump">$ 316,511<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=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="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="Show.showAR( this, 'defref_rgen_AssetsNonCurrentExcludingDifferedTaxAssets', window );">Long Lived Assets</a></td>
<td class="nump">278,033<span></span>
</td>
<td class="nump">275,151<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=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="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="Show.showAR( this, 'defref_rgen_AssetsNonCurrentExcludingDifferedTaxAssets', window );">Long Lived Assets</a></td>
<td class="nump">43,280<span></span>
</td>
<td class="nump">38,541<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=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="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="Show.showAR( this, 'defref_rgen_AssetsNonCurrentExcludingDifferedTaxAssets', window );">Long Lived Assets</a></td>
<td class="nump">$ 2,919<span></span>
</td>
<td class="nump">$ 2,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_AssetsNonCurrentExcludingDifferedTaxAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of total non-current assets excluding deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=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>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291479303632">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value Measurements - Summary of Company's Cash, Cash Equivalents and Marketable Securities Held to Maturity (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=rgen_CashAndMoneyMarketFundsMember', window );">Cash and money market funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts', window );">Cash and cash equivalents, Amortized Costs</a></td>
<td class="nump">$ 751,323<span></span>
</td>
<td class="nump">$ 523,458<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue', window );">Cash and cash equivalents, Estimated Fair Value</a></td>
<td class="nump">751,323<span></span>
</td>
<td class="nump">523,458<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentTypeAxis=us-gaap_CashAndCashEquivalentsMember', window );">Cash and cash equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts', window );">Cash and cash equivalents, Amortized Costs</a></td>
<td class="nump">751,323<span></span>
</td>
<td class="nump">523,458<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue', window );">Cash and cash equivalents, Estimated Fair Value</a></td>
<td class="nump">$ 751,323<span></span>
</td>
<td class="nump">523,458<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentTypeAxis=us-gaap_USTreasuryBillSecuritiesMember', window );">U.S. treasury bills</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts', window );">Cash and cash equivalents, Amortized Costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100,299<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain', window );">Marketable securities, Gross Unrealized Gains</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">24<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue', window );">Marketable securities, Estimated Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100,323<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentTypeAxis=rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember', window );">Cash equivalents and marketable securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts', window );">Cash and cash equivalents, Amortized Costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">623,757<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain', window );">Marketable securities, Gross Unrealized Gains</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">24<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AvailableForSaleSecuritiesEstimatedFairValue', window );">Marketable securities, Estimated Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 623,781<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AvailableForSaleSecuritiesEstimatedFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Available for sale securities estimated fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AvailableForSaleSecuritiesEstimatedFairValue</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_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt securities held to maturity and cash and cash equivalents amortized costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts</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_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt securities held to maturity and cash and cash equivalents estimated fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue</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_DebtSecuritiesHeldToMaturityEstimatedFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt securities held to maturity estimated fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue</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_DebtSecuritiesHeldToMaturityGrossUnrealizedGain">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt securities held to maturity gross unrealized gain.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain</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_CashAndCashEquivalentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=rgen_CashAndMoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=rgen_CashAndMoneyMarketFundsMember</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_InvestmentTypeAxis=us-gaap_CashAndCashEquivalentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentTypeAxis=us-gaap_CashAndCashEquivalentsMember</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_InvestmentTypeAxis=us-gaap_USTreasuryBillSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentTypeAxis=us-gaap_USTreasuryBillSecuritiesMember</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_InvestmentTypeAxis=rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentTypeAxis=rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember</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>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291475159584">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value Measurements - Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity (Detail)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost', window );">Debt securities maturity within one year amortized cost</a></td>
<td class="nump">$ 100,299<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">Maturity of one year or less, Estimated Fair Value</a></td>
<td class="nump">$ 100,323<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt securities maturity within one year amortized cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost</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_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480832/942-320-50-3A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291474220896">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value Measurements - Schedule of Financial Assets and Financial Liabilities Measured at Fair Value on a Recurring Basis (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ShortTermContingentConsideration', window );">Short-term contingent consideration</a></td>
<td class="nump">$ 12,983<span></span>
</td>
<td class="nump">$ 13,950<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_LongTermContingentConsideration', window );">Long-term contingent consideration</a></td>
<td class="nump">14,070<span></span>
</td>
<td class="nump">51,559<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember', window );">Money Market</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Assets, fair value</a></td>
<td class="nump">658,574<span></span>
</td>
<td class="nump">343,929<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level 1 | Money Market</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Assets, fair value</a></td>
<td class="nump">658,574<span></span>
</td>
<td class="nump">343,929<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level 3</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ShortTermContingentConsideration', window );">Short-term contingent consideration</a></td>
<td class="nump">12,983<span></span>
</td>
<td class="nump">13,950<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_LongTermContingentConsideration', window );">Long-term contingent consideration</a></td>
<td class="nump">$ 14,070<span></span>
</td>
<td class="nump">$ 51,559<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_LongTermContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Long-term contingent consideration.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_LongTermContingentConsideration</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_ShortTermContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Short-term contingent consideration.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ShortTermContingentConsideration</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_AssetsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291474185376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements - Additional Information (Detail) - USD ($)<br> $ 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="1"></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>Dec. 14, 2023</div></th>
<th class="th"><div>Oct. 02, 2023</div></th>
<th class="th"><div>Apr. 17, 2023</div></th>
<th class="th"><div>Sep. 16, 2021</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Purchase of treasury 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="nump">$ 100,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="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 287,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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFrequencyOfPeriodicPayment', window );">Notes, frequency of periodic payment</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">semi-annually<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="nump">284,600<span></span>
</td>
<td class="nump">$ 69,500<span></span>
</td>
<td class="nump">$ 284,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="nump">$ 452,000<span></span>
</td>
<td class="nump">109,800<span></span>
</td>
<td class="nump">452,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtInstrumentExchangedAmountCancelled', window );">Debt istrument cancelled</a></td>
<td class="nump">$ 309,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="nump">290,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>
<td class="nump">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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtInstrumentIssuedForCash', window );">Notes for cash</a></td>
<td class="nump">290,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">510,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">596,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028 | Private Placement</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="nump">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>
<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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028 | Subscription Transaction</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="nump">290,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>
<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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028 | Exchange Transaction</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<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="Show.showAR( this, 'defref_rgen_DebtInstrumentExchangedAmountCancelled', window );">Debt istrument cancelled</a></td>
<td class="nump">309,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>
<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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_NotesMember', window );">Exchanged 2019 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtInstrumentExchangeAmount', window );">Debt Intrument Exchange Amount</a></td>
<td class="nump">$ 217,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>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business combination contingent consideration</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">$ 88,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">125,000<span></span>
</td>
<td class="nump">$ 88,373<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Upfront payment</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">$ 75,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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 6,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42,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="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Upfront payment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 29,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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business combination contingent consideration</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">$ 10,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="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Upfront payment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 164,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>
<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_DebtInstrumentExchangeAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument Exchange Amount</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtInstrumentExchangeAmount</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_DebtInstrumentExchangedAmountCancelled">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt instrument exchanged amount cancelled</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtInstrumentExchangedAmountCancelled</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_DebtInstrumentIssuedForCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt instrument issued for cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtInstrumentIssuedForCash</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_SummaryOfSignificantAccountingPoliciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Summary Of Significant Accounting Policies [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_BusinessCombinationConsiderationTransferredLiabilitiesIncurred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479668/805-30-25-5<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-8<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480848/942-470-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_us-gaap_TreasuryStockValueAcquiredCostMethod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValueAcquiredCostMethod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</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_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember</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_SubsidiarySaleOfStockAxis=rgen_SubscriptionTransactionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=rgen_SubscriptionTransactionMember</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_SubsidiarySaleOfStockAxis=rgen_ExchangeTransactionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=rgen_ExchangeTransactionMember</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_NotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_NotesMember</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_AvitideIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember</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_FlexbiosysIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember</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_MetenovaHoldingAbMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember</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>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291479650592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements - Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout (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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Contingent consideration</a></td>
<td class="num">$ (30,569)<span></span>
</td>
<td class="num">$ (28,729)<span></span>
</td>
<td class="nump">$ 5,865<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Contingent Consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Balance at December 31, 2022</a></td>
<td class="nump">65,509<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements', window );">Acquisition date fair value of contingent consideration earnout</a></td>
<td class="nump">6,640<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Contingent consideration</a></td>
<td class="num">(14,527)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Decrease in fair value of contingent consideration earnouts</a></td>
<td class="num">(30,569)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Balance at December 31, 2023</a></td>
<td class="nump">$ 27,053<span></span>
</td>
<td class="nump">$ 65,509<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_BusinessCombinationConsiderationTransferredLiabilitiesIncurred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479668/805-30-25-5<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-8<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LiabilitiesFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial and nonfinancial obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember</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>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291471281856">
<tr>
<th class="tl" colspan="2" rowspan="1"><div style="width: 200px;"><strong>Fair Value Measurements - Schedule of Contingent Consideration Earnout Expect to be Required to Settle include Significant unobservable Inputs (Detail) - Contingent Consideration - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Liabilities, fair value</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 27,053<span></span>
</td>
<td class="nump">$ 65,509<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Avitide and Flexbiosys</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Liabilities, fair value</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 20,094<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ProbabilityOfSuccess', window );">Probability of Success</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Probability of Success | Avitide and Flexbiosys</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_WeightedAverageDiscountRate', window );">Weighted Average Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Earnout Discount Rate | Avitide and Flexbiosys</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_WeightedAverageDiscountRate', window );">Weighted Average Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">5.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Revenue and Volume Based Payments</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Liabilities, fair value</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 1,454<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Revenue and Volume Based Payments | Earnout Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_WeightedAverageDiscountRate', window );">Weighted Average Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">6.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Revenue and Volume Based Payments | Volatility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_WeightedAverageDiscountRate', window );">Weighted Average Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">21.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Revenue and Volume Based Payments | Revenue and Volume Based Payments</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_WeightedAverageDiscountRate', window );">Weighted Average Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">8.30%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Minimum | Avitide and Flexbiosys</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">5.80%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Minimum | Revenue and Volume Based Payments</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">5.80%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_VolatilityRateOfContingentConsideration', window );">Volatility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">12.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_RevenueAndVolumeDiscountRate', window );">Revenue and Volume Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">2.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="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Maximum | Avitide and Flexbiosys</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">5.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Monte Carlo Simulation | Fair Value, Recurring | Maximum | Revenue and Volume Based Payments</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">7.20%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_VolatilityRateOfContingentConsideration', window );">Volatility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">24.60%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_RevenueAndVolumeDiscountRate', window );">Revenue and Volume Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">9.30%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Probability Weighted Present Value | Fair Value, Recurring | Probability of Success</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Liabilities, fair value</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 5,505<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Probability Weighted Present Value | Fair Value, Recurring | Manufacturing Line Expansions</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ProbabilityOfSuccess', window );">Probability of Success</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Probability Weighted Present Value | Fair Value, Recurring | Manufacturing Line Expansions | Probability of Success</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_WeightedAverageDiscountRate', window );">Weighted Average Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Probability Weighted Present Value | Fair Value, Recurring | Manufacturing Line Expansions | Earnout Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_WeightedAverageDiscountRate', window );">Weighted Average Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">6.30%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Probability Weighted Present Value | Fair Value, Recurring | Minimum | Manufacturing Line Expansions</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">6.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember', window );">Probability Weighted Present Value | Fair Value, Recurring | Maximum | Manufacturing Line Expansions</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Discount Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">6.40%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">Unobservable inputs were weighted by the relative fair value of the contingent consideration liability.</span></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_ProbabilityOfSuccess">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Probability of success.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ProbabilityOfSuccess</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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_RevenueAndVolumeDiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Revenue and volume discount rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_RevenueAndVolumeDiscountRate</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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_VolatilityRateOfContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Volatility rate of contingent consideration.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_VolatilityRateOfContingentConsideration</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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_WeightedAverageDiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_WeightedAverageDiscountRate</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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeFixedInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fixed interest rate related to the interest rate derivative.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFixedInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial and nonfinancial obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=rgen_ContingentConsiderationMember</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_ValuationTechniqueAxis=rgen_MonteCarloSimulationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationTechniqueAxis=rgen_MonteCarloSimulationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideAndFlexbiosysMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideAndFlexbiosysMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=rgen_MeasurementInputProbabilityOfSuccessMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=rgen_MeasurementInputProbabilityOfSuccessMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=rgen_MeasurementInputEarnoutDiscountRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=rgen_MeasurementInputEarnoutDiscountRateMember</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=rgen_RevenueAndVolumeBasedPaymentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=rgen_RevenueAndVolumeBasedPaymentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputPriceVolatilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputPriceVolatilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=rgen_MeasurementInputRevenueVolumeDiscountRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=rgen_MeasurementInputRevenueVolumeDiscountRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationTechniqueAxis=rgen_ProbabilityWeightedPresentValueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationTechniqueAxis=rgen_ProbabilityWeightedPresentValueMember</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=rgen_ManufacturingLineExpansionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=rgen_ManufacturingLineExpansionsMember</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>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291475624176">
<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"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 02, 2023</div></th>
<th class="th"><div>Apr. 17, 2023</div></th>
<th class="th"><div>Nov. 29, 2021</div></th>
<th class="th"><div>Sep. 16, 2021</div></th>
<th class="th"><div>Jun. 22, 2021</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash 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="text">&#160;<span></span>
</td>
<td class="nump">$ 186,642<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 149,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="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</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">$ 987,120<span></span>
</td>
<td class="nump">987,120<span></span>
</td>
<td class="nump">855,513<span></span>
</td>
<td class="nump">860,362<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Transaction 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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,700<span></span>
</td>
<td class="nump">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="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability</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="num">(30,569)<span></span>
</td>
<td class="num">(28,729)<span></span>
</td>
<td class="nump">5,865<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash consideration</a></td>
<td class="nump">$ 164,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued', window );">Shares issued for business acquisition</a></td>
<td class="nump">52,299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Value of common stock issued</a></td>
<td class="nump">$ 172,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities', window );">Net liabilities assumed</a></td>
<td class="nump">2,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Fair value of acquired finite lived intangible assets</a></td>
<td class="nump">58,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</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">115,778<span></span>
</td>
<td class="nump">115,778<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue', window );">Intangible Asset Residual Value</a></td>
<td class="nump">115,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Transaction 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">3,500<span></span>
</td>
<td class="nump">3,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="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="text">&#160;<span></span>
</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,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Value of common stock issued</a></td>
<td class="nump">$ 8,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>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1', window );">Business combination date of acquistion</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Apr. 17,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 29,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh', window );">Business Combination, Indemnification Assets, Range of Outcomes, Value, High</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued', window );">Shares issued for business acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,415<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Value of common stock issued</a></td>
<td class="text">&#160;<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities', window );">Net liabilities assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Fair value of acquired finite lived intangible assets</a></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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</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">14,321<span></span>
</td>
<td class="nump">14,321<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue', window );">Intangible Asset Residual Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Transaction 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">1,100<span></span>
</td>
<td class="nump">1,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="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="text">&#160;<span></span>
</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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business combination contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, Inc. | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Value of common stock issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,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>
<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember', window );">BioFlex And NTM Acquisition</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Value of common stock issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 31,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>
<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="Show.showAR( this, 'defref_rgen_BusinessAcquisitionWorkingCapitalAdjustments', window );">Working capital adjustment</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="nump">300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">17,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,834<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 9,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Transaction 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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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">$ 3,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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets', window );">Net asset acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,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>
<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash consideration</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">$ 75,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="text">&#160;<span></span>
</td>
<td class="nump">271,096<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Value of common stock 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="nump">$ 83,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="nump">82,968<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessAcquisitionWorkingCapitalAdjustments', window );">Working capital adjustment</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="nump">1,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities', window );">Net liabilities assumed</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,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business combination, consideration transferred</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="nump">246,303<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</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="nump">197,476<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue', window );">Intangible Asset Residual 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">197,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Transaction 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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">2,600<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business combination contingent consideration</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">88,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 125,000<span></span>
</td>
<td class="nump">88,373<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, Inc. | Capital 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash consideration</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">150,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash 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="nump">149,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business combination, consideration transferred</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">275,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="text">&#160;<span></span>
</td>
<td class="nump">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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business combination contingent consideration</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">$ 125,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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember', window );">Polymem S.A.</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash consideration</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">$ 47,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="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities', window );">Net liabilities assumed</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="nump">2,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business combination, consideration transferred</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="nump">47,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</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="nump">35,680<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue', window );">Intangible Asset Residual 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="text">&#160;<span></span>
</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">35,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Transaction 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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,100<span></span>
</td>
<td class="nump">$ 3,100<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,300<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_BusinessAcquisitionWorkingCapitalAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business acquisition working capital adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessAcquisitionWorkingCapitalAdjustments</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_BusinessCombinationConsiderationIndemnificationEscrow">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination Consideration Indemnification Escrow</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_BusinessAcquisitionEffectiveDateOfAcquisition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date when the acquirer obtains control of the acquiree, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 7<br> -SubTopic 10<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479405/805-10-25-7<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479328/805-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 6<br> -SubTopic 10<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479405/805-10-25-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1</td>
</tr>
<tr>
<td style="padding-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_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of equity interests issued or issuable to acquire entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of voting equity interests acquired at the acquisition date in the business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479328/805-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479405/805-10-25-23<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479668/805-30-25-5<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-8<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For indemnification assets recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the indemnification benefit which may be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of assets acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of intangible assets, excluding goodwill, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember</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_BioflexAndNtmAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember</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_AvitideIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember</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_CapitalUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CapitalUnitsMember</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_PolymemSAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember</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>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291485636384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions - Consideration Transferred (Detail) - Avitide, Inc. - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 16, 2021</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_CashConsiderationExcludingRestrictedCash', window );">Cash consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 74,962<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Equity consideration</a></td>
<td class="nump">$ 83,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">82,968<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration - earnout</a></td>
<td class="nump">$ 88,400<span></span>
</td>
<td class="nump">$ 125,000<span></span>
</td>
<td class="nump">88,373<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Fair value of net assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 246,303<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash consideration excluding restricted cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479668/805-30-25-5<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-8<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_AvitideIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember</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>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291470745760">
<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, 2023</div></th>
<th class="th"><div>Oct. 02, 2023</div></th>
<th class="th"><div>Apr. 17, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Nov. 29, 2021</div></th>
<th class="th"><div>Sep. 16, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 987,120<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 855,513<span></span>
</td>
<td class="nump">$ 860,362<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB</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="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and cash equivalents</a></td>
<td class="nump">5,768<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="nump">3,730<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventory</a></td>
<td class="nump">4,421<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">470<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="nump">433<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset</a></td>
<td class="nump">615<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 58,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">115,778<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(1,432)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="nump">2,934<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="nump">275<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent', window );">Operating lease liability, long-term</a></td>
<td class="nump">255<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent', window );">Long term deferred tax liability</a></td>
<td class="num">(12,481)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Fair value of net assets acquired</a></td>
<td class="nump">172,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>
<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">12,659<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">44,377<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">939<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">787<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and cash equivalents</a></td>
<td class="nump">1,090<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="nump">683<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventory</a></td>
<td class="nump">667<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">35<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="nump">12,034<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset</a></td>
<td class="nump">3,537<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets', window );">Other assets</a></td>
<td class="nump">10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">14,321<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(136)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="nump">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>
<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="nump">39<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent', window );">Operating lease liability, long-term</a></td>
<td class="nump">3,498<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Fair value of net assets acquired</a></td>
<td class="nump">41,030<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, Inc. | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">2,530<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, Inc. | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">9,860<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, Inc. | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, Inc. | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">$ 220<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember', window );">BioFlex And NTM Acquisition</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="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and cash equivalents</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,870<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</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,408<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventory</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">741<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</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">126<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</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">34<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset</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,034<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</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">$ 17,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,834<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent', window );">Long term deferred tax asset</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">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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</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="num">(224)<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities', window );">Accrued liabilities</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="num">(450)<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent', window );">Operating lease liability</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="num">(1,030)<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent', window );">Operating lease liability, long-term</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="num">(3)<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="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Fair value of net assets 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="nump">31,571<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember', window );">BioFlex And NTM Acquisition | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</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">13,240<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember', window );">BioFlex And NTM Acquisition | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</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,540<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember', window );">BioFlex And NTM Acquisition | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</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">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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember', window );">BioFlex And NTM Acquisition | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</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">60<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and cash equivalents</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">572<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</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">228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventory</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">332<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</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">114<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</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,862<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset</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,648<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</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">$ 46,700<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">197,476<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent', window );">Long term deferred tax asset</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,525<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</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="num">(215)<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities', window );">Accrued liabilities</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="num">(2,183)<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent', window );">Operating lease liability</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="num">(698)<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent', window );">Operating lease liability, long-term</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="num">(2,950)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther', window );">Other liabilities</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">58<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="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Fair value of net assets 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="nump">246,303<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, Inc. | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</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">24,580<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, Inc. | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</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,650<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, Inc. | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</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,210<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, Inc. | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</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">210<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember', window );">Polymem S.A.</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="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and cash equivalents</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">353<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="Show.showAR( this, 'defref_rgen_NetWorkingCapitalExcludingCashAndInventory', window );">Net working capital (excluding cash and inventory step-up)</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">414<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventory</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">543<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</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,145<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset</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,424<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets', window );">Other assets</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">41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</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">9,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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</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">35,680<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent', window );">Operating lease liability</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="num">(1,253)<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="Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent', window );">Long term deferred tax liability</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="num">(2,327)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther', window );">Other liabilities</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">143<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="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Fair value of net assets 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="nump">46,973<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember', window );">Polymem S.A. | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</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">8,274<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember', window );">Polymem S.A. | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</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">510<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember', window );">Polymem S.A. | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</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">$ 312<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Accrued Liabilities</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed deferred tax asset noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent</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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liability Noncurrent</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Non Current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Right Of Use Asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_NetWorkingCapitalExcludingCashAndInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net working capital excluding cash and inventory</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_NetWorkingCapitalExcludingCashAndInventory</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_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions, 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of intangible assets, excluding goodwill, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of inventory recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479303/805-10-55-37<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of other liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of property, plant, and equipment recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479303/805-10-55-37<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember</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_BioflexAndNtmAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember</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_AvitideIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember</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_PolymemSAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember</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>67
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291482946640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions - Estimated Useful Life and Fair Value (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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 58,762<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, 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="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 12,640<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember', window );">BioFlex And NTM Acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,150<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, 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="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46,650<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember', window );">Polymem S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,096<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | Metenova Holding AB</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">15 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 12,659<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | FlexBiosys, 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="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">12 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 2,530<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | BioFlex And NTM Acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 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="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 13,240<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | Avitide, 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="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">13 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 24,580<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed Technology Rights [Member] | Metenova Holding AB</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">15 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 44,377<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed Technology Rights [Member] | FlexBiosys, 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="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">16 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 9,860<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed Technology Rights [Member] | BioFlex And NTM Acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">11 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="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,540<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed Technology Rights [Member] | Avitide, 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="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</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="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20,650<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed Technology Rights [Member] | Polymem S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">13 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="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8,274<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trademark and tradename [Member] | Metenova Holding AB</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">15 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 939<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trademark and tradename [Member] | FlexBiosys, 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="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trademark and tradename [Member] | BioFlex And NTM Acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</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="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 310<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trademark and tradename [Member] | Avitide, 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="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">18 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="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,210<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trademark and tradename [Member] | Polymem S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">14 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 510<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | Metenova Holding AB</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 787<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | FlexBiosys, 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="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 220<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | BioFlex And NTM Acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 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="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 60<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | Avitide, 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="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</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="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 210<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | Polymem S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 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="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 312<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of identifiable intangible assets recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479303/805-10-55-37<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_MetenovaHoldingAbMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember</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_FlexbiosysIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember</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_BioflexAndNtmAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_BioflexAndNtmAcquisitionMember</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_AvitideIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember</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_PolymemSAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_PolymemSAMember</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291485381520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring Plan - Additional Information (Detail)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">$ 32,200<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_NoncashInventoryAdjustments', window );">Non cash inventory adjustment</a></td>
<td class="nump">$ 27,600<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_NoncashInventoryAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of non cash adjustments of inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_NoncashInventoryAdjustments</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_RestructuringCostAndReserveLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveLineItems</td>
</tr>
<tr>
<td style="padding-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_RestructuringCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after cash payment, of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291473551520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring Plan - Summary of Restructuring Activities by Type of Cost (Detail)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">$ 32,200<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember', window );">Severance &amp; employee-related costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">3,725<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=rgen_InventoryAdjustmentsMember', window );">Inventory adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">23,588<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=rgen_AcceleratedDepreciationMember', window );">Accelerated depreciation</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">3,816<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=rgen_FacilityAndOtherExitCostsMember', window );">Facility and other exit costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">1,071<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of product revenue</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">30,386<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of product revenue | Severance &amp; employee-related costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">2,077<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of product revenue | Inventory adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">23,588<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of product revenue | Accelerated depreciation</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">3,788<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of product revenue | Facility and other exit costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">933<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">116<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development | Severance &amp; employee-related costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">116<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development | Inventory adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development | Accelerated depreciation</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development | Facility and other exit costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">1,698<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative | Severance &amp; employee-related costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">1,532<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative | Inventory adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative | Accelerated depreciation</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">28<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative | Facility and other exit costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">$ 138<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_RestructuringCostAndReserveLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveLineItems</td>
</tr>
<tr>
<td style="padding-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_RestructuringCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after cash payment, of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember</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_RestructuringCostAndReserveAxis=rgen_InventoryAdjustmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=rgen_InventoryAdjustmentsMember</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_RestructuringCostAndReserveAxis=rgen_AcceleratedDepreciationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=rgen_AcceleratedDepreciationMember</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_RestructuringCostAndReserveAxis=rgen_FacilityAndOtherExitCostsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=rgen_FacilityAndOtherExitCostsMember</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_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_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>70
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291474116736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring Plan - Summary of Activity Related to Restructuring Plan (Detail)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">$ 32,200<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRestructuring', window );">Amount Paid</a></td>
<td class="num">(4,105)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserveSettledWithoutCash2', window );">Non-Cash Restructuring Items</a></td>
<td class="num">(27,631)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Restructuring Liability</a></td>
<td class="nump">464<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember', window );">Severance &amp; employee-related costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">3,725<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRestructuring', window );">Amount Paid</a></td>
<td class="num">(3,044)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserveSettledWithoutCash2', window );">Non-Cash Restructuring Items</a></td>
<td class="num">(217)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Restructuring Liability</a></td>
<td class="nump">464<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=rgen_InventoryAdjustmentsMember', window );">Inventory adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">23,588<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRestructuring', window );">Amount Paid</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserveSettledWithoutCash2', window );">Non-Cash Restructuring Items</a></td>
<td class="num">(23,588)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Restructuring Liability</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=rgen_AcceleratedDepreciationMember', window );">Accelerated depreciation</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">3,816<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRestructuring', window );">Amount Paid</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserveSettledWithoutCash2', window );">Non-Cash Restructuring Items</a></td>
<td class="num">(3,816)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Restructuring Liability</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=rgen_FacilityExitAndOtherExitCostsMember', window );">Facility exit and other exit costs</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring Costs</a></td>
<td class="nump">1,071<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRestructuring', window );">Amount Paid</a></td>
<td class="num">(1,061)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserveSettledWithoutCash2', window );">Non-Cash Restructuring Items</a></td>
<td class="num">(10)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Restructuring Liability</a></td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRestructuring">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-17<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRestructuring</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RestructuringCostAndReserveLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveLineItems</td>
</tr>
<tr>
<td style="padding-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_RestructuringCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after cash payment, of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RestructuringReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.P.4(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RestructuringReserveSettledWithoutCash2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in the reserve for full or partial settlement through consideration other than cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringReserveSettledWithoutCash2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember</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_RestructuringCostAndReserveAxis=rgen_InventoryAdjustmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=rgen_InventoryAdjustmentsMember</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_RestructuringCostAndReserveAxis=rgen_AcceleratedDepreciationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=rgen_AcceleratedDepreciationMember</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_RestructuringCostAndReserveAxis=rgen_FacilityExitAndOtherExitCostsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=rgen_FacilityExitAndOtherExitCostsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291479157936">
<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">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>ft&#178;</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right of use assets</a></td>
<td class="nump">$ 115,515<span></span>
</td>
<td class="nump">$ 125,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="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="nump">159,037<span></span>
</td>
<td class="nump">138,300<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases', window );">Operating lease liabilities excluding control not conveyed leases</a></td>
<td class="nump">$ 132,209<span></span>
</td>
<td class="nump">$ 138,346<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AreaOfLand', window );">Expansion of existing premises | ft&#178;</a></td>
<td class="nump">43,833<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncreaseDecreaseInOperatingLeaseAsset', window );">Increase decrease in operating lease asset</a></td>
<td class="nump">$ 4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncreaseDecreaseInOperatingLeaseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Increase decrease in operating lease asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncreaseDecreaseInOperatingLeaseAsset</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_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Operating lease liabilities excluding control not conveyed leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases</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_AreaOfLand">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area of land held.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types: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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291474043488">
<tr>
<th class="tl" colspan="2" rowspan="1"><div style="width: 200px;"><strong>Leases - Summary of Maturities of Operating Lease Liabilities (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 22,585<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2025</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">25,645<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2026</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">25,406<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2027</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">23,944<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2028</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">24,382<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">2029 and thereafter</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">79,435<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="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">201,397<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_LeaseIncentives', window );">Less lease incentives</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(9,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="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less amount of lease payment representing interest</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(32,595)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 159,037<span></span>
</td>
<td class="nump">$ 138,300<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">The future minimum lease payments include obligations for leases not yet commenced of $</span><span style="font-size:9pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">26.8</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> million for manufacturing, office and warehouse facilities. These leases have terms of between </span><span style="font-size:9pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">5</span></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="font-size:9pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">10</span></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> years and commence during the first quarter of 2024.</span></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_LeaseIncentives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lease incentives.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_LeaseIncentives</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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291476434848">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Summary of Maturities of Operating Lease Liabilities (parenthetical) (Detail)<br> $ in Millions</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasedAssetsLineItems', window );"><strong>Operating Leased Assets [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="Show.showAR( this, 'defref_rgen_LeaseObligationsNotYetCommenced', window );">Lease obligations not yet commenced</a></td>
<td class="nump">$ 26.8<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasedAssetsLineItems', window );"><strong>Operating Leased Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1', window );">Lease obligation terms</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [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="Show.showAR( this, 'defref_us-gaap_OperatingLeasedAssetsLineItems', window );"><strong>Operating Leased Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1', window );">Lease obligation terms</a></td>
<td class="text">10 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_LeaseObligationsNotYetCommenced">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lease obligations not yet commenced.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_LeaseObligationsNotYetCommenced</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_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease not yet commenced, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-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_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291485416928">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Summary of Operating Lease Liability (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="nump">$ 5,631<span></span>
</td>
<td class="nump">$ 6,957<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liability, long-term</a></td>
<td class="nump">126,578<span></span>
</td>
<td class="nump">131,389<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Minimum operating lease payments</a></td>
<td class="nump">159,037<span></span>
</td>
<td class="nump">138,300<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases', window );">Minimum operating lease payments</a></td>
<td class="nump">$ 132,209<span></span>
</td>
<td class="nump">$ 138,346<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Operating lease liabilities excluding control not conveyed leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases</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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291476395632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Summary of Operating Lease Cost (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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="nump">$ 20,981<span></span>
</td>
<td class="nump">$ 17,833<span></span>
</td>
<td class="nump">$ 9,838<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_VariableOperatingLeaseCost', window );">Variable operating lease cost</a></td>
<td class="nump">4,075<span></span>
</td>
<td class="nump">11,317<span></span>
</td>
<td class="nump">7,118<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCost', window );">Lease cost</a></td>
<td class="nump">$ 25,056<span></span>
</td>
<td class="nump">$ 29,150<span></span>
</td>
<td class="nump">$ 16,956<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lease cost recognized by lessee for lease contract.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291471679120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases (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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating lease cost</a></td>
<td class="num">$ (17,862)<span></span>
</td>
<td class="num">$ (13,757)<span></span>
</td>
<td class="num">$ (8,863)<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291482784256">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities (Detail)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term (years)</a></td>
<td class="text">7 years 8 months 26 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="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate</a></td>
<td class="nump">4.13%<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291482819824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition - Summary of Disaggregation of Revenue (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th" colspan="2"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</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="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 638,764<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 801,536<span></span>
</td>
<td class="nump">$ 670,534<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Product 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="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">638,381<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">801,183<span></span>
</td>
<td class="nump">670,319<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_RoyaltyMember', window );">Royalty and Other Income</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="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 383<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 353<span></span>
</td>
<td class="nump">$ 215<span></span>
</td>
</tr>
<tr><td colspan="5"></td></tr>
<tr><td colspan="5"><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"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#8220;FlexBiosys&#8221;) from April 17, 2023, as well as Metenova Holding AB (&#8220;Metenova&#8221;) from October 2, 2023.</span></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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_RoyaltyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_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>79
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291475614288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition - Additional Information (Detail) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 638,764,000<span></span>
</td>
<td class="nump">$ 801,536,000<span></span>
</td>
<td class="nump">$ 670,534,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue Benchmark [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">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="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue Benchmark [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 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="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue Benchmark [Member] | Minimum [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_PfizerMember', window );">Pfizer 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="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 68,300,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_PfizerMember', window );">Pfizer Inc. | Revenue Benchmark [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_PfizerMember', window );">Pfizer Inc. | Revenue Benchmark [Member] | Minimum [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgen_PfizerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgen_PfizerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291485845472">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Revenue Recognition - Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss', window );">Accounts receivable</a></td>
<td class="nump">$ 124,161<span></span>
</td>
<td class="nump">$ 116,247<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenue', window );">Deferred revenue (included in accrued liabilities and other noncurrent liabilities in the consolidated balance sheets)</a></td>
<td class="nump">10,755<span></span>
</td>
<td class="nump">19,631<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract', window );"><strong>Revenue recognized during periods 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="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">The beginning deferred revenue balance</a></td>
<td class="nump">$ 18,751<span></span>
</td>
<td class="nump">$ 13,390<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_ChangeInContractWithCustomerAssetAndLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right to consideration is unconditional.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481058/954-310-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291486737376">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 124,161<span></span>
</td>
<td class="nump">$ 116,247<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts receivable, reserve for doubtful accounts</a></td>
<td class="nump">$ 2,122<span></span>
</td>
<td class="nump">$ 1,365<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>82
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291471731328">
<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="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Beginning balance</a></td>
<td class="num">$ (1,365)<span></span>
</td>
<td class="num">$ (1,417)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs', window );">Current period change for write-offs</a></td>
<td class="nump">82<span></span>
</td>
<td class="nump">126<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Current period change for expected credit losses</a></td>
<td class="num">(839)<span></span>
</td>
<td class="num">(74)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Ending balance</a></td>
<td class="num">$ (2,122)<span></span>
</td>
<td class="num">$ (1,365)<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of direct write-downs of accounts receivable charged against the allowance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291479623792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - 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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">$ 855,513<span></span>
</td>
<td class="nump">$ 860,362<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Cumulative translation adjustment</a></td>
<td class="nump">1,508<span></span>
</td>
<td class="num">(2,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="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">987,120<span></span>
</td>
<td class="nump">855,513<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_BioflexMember', window );">BioFlex</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_GoodwillPurchaseAccountingAdjustments', window );">Measurement period adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(346)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember', window );">Avitide, 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="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="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">197,476<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillPurchaseAccountingAdjustments', window );">Measurement period adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,768)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 197,476<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember', window );">FlexBiosys, 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="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="Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill arising from Acquisition</a></td>
<td class="nump">14,321<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">14,321<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember', window );">Metenova Holding AB</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill arising from Acquisition</a></td>
<td class="nump">115,778<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">$ 115,778<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAcquiredDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_GoodwillPurchaseAccountingAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from adjustments after acquisition date under purchase accounting of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 16<br> -SubTopic 10<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479405/805-10-25-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillPurchaseAccountingAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_BusinessAcquisitionAxis=rgen_BioflexMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_BioflexMember</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_AvitideIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideIncMember</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_FlexbiosysIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_FlexbiosysIncMember</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_MetenovaHoldingAbMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_MetenovaHoldingAbMember</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>84
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291473715488">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Schedule of Intangible Assets (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 532,454<span></span>
</td>
<td class="nump">$ 454,130<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsGrossExcludingGoodwill', window );">Gross Carrying Value</a></td>
<td class="nump">533,154<span></span>
</td>
<td class="nump">454,830<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(132,668)<span></span>
</td>
<td class="num">(101,154)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(132,668)<span></span>
</td>
<td class="num">(101,154)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">399,786<span></span>
</td>
<td class="nump">352,976<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Net Carrying Value</a></td>
<td class="nump">$ 400,486<span></span>
</td>
<td class="nump">$ 353,676<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">15 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="Show.showAR( this, 'defref_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember', window );">Trademarks</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 8,757<span></span>
</td>
<td class="nump">$ 7,682<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Gross Carrying Value</a></td>
<td class="nump">700<span></span>
</td>
<td class="nump">700<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(1,789)<span></span>
</td>
<td class="num">(1,319)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">6,968<span></span>
</td>
<td class="nump">6,363<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">19 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="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="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="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 249,594<span></span>
</td>
<td class="nump">$ 190,463<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(44,162)<span></span>
</td>
<td class="num">(30,992)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 205,432<span></span>
</td>
<td class="nump">$ 159,471<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="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="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="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="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="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 269,949<span></span>
</td>
<td class="nump">$ 252,934<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(83,963)<span></span>
</td>
<td class="num">(66,559)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 185,986<span></span>
</td>
<td class="nump">$ 186,375<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">15 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="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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 3,914<span></span>
</td>
<td class="nump">$ 2,811<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(2,514)<span></span>
</td>
<td class="num">(2,044)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 1,400<span></span>
</td>
<td class="nump">$ 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="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">4 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indefinite Lived Intangible Assets Accumulated Amortization</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indefinite Lived Intangible Assets Net</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Intangible Assets [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483147/928-340-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated amortization of intangible assets, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_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_OtherIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_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>85
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480299808">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization expense</a></td>
<td class="nump">$ 31.1<span></span>
</td>
<td class="nump">$ 27.1<span></span>
</td>
<td class="nump">$ 22.1<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill', window );">Impairment of intangible assets</a></td>
<td class="nump">$ 0.0<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_FiniteLivedIntangibleLiabilitiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Finite-Lived Intangible Liabilities [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of an intangible asset (excluding goodwill) to fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>86
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291482849264">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Amortization Expense for Amortized Intangible Assets (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 34,314<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2025</a></td>
<td class="nump">33,879<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2026</a></td>
<td class="nump">33,524<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2027</a></td>
<td class="nump">33,421<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2028</a></td>
<td class="nump">32,689<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive', window );">2029 and thereafter</a></td>
<td class="nump">231,959<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="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 399,786<span></span>
</td>
<td class="nump">$ 352,976<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Finite-Lived Intangible Liabilities [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291471271168">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheet Detail - Schedule of Inventories (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsNetOfReserves', window );">Raw materials</a></td>
<td class="nump">$ 123,598<span></span>
</td>
<td class="nump">$ 149,438<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessNetOfReserves', window );">Work-in-process</a></td>
<td class="nump">4,492<span></span>
</td>
<td class="nump">6,183<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished products</a></td>
<td class="nump">74,231<span></span>
</td>
<td class="nump">82,656<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Total inventories, net</a></td>
<td class="nump">$ 202,321<span></span>
</td>
<td class="nump">$ 238,277<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>88
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291474177808">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheet Detail - Prepaid Expenses and Other Current Assets (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="Show.showAR( this, 'defref_rgen_PrepaidServicesAndProfessionalFees', window );">Equipment maintenance and services</a></td>
<td class="nump">$ 6,605<span></span>
</td>
<td class="nump">$ 7,135<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidTaxes', window );">Prepaid income taxes</a></td>
<td class="nump">10,229<span></span>
</td>
<td class="nump">519<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidInsurance', window );">Prepaid insurance</a></td>
<td class="nump">3,087<span></span>
</td>
<td class="nump">1,909<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other</a></td>
<td class="nump">13,317<span></span>
</td>
<td class="nump">10,274<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Total prepaid expenses and other current assets</a></td>
<td class="nump">$ 33,238<span></span>
</td>
<td class="nump">$ 19,837<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Prepaid Expenses And Other Current Assets [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Prepaid Services and Professional Fees</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidInsurance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483032/340-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482955/340-10-05-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483032/340-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482955/340-10-05-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>89
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291471387952">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheet Detail - Property, Plant and Equipment (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Land', window );">Land</a></td>
<td class="nump">$ 992<span></span>
</td>
<td class="nump">$ 1,003<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BuildingsAndImprovementsGross', window );">Buildings</a></td>
<td class="nump">1,667<span></span>
</td>
<td class="nump">1,599<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseholdImprovementsGross', window );">Leasehold improvements</a></td>
<td class="nump">126,663<span></span>
</td>
<td class="nump">115,672<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Equipment</a></td>
<td class="nump">114,606<span></span>
</td>
<td class="nump">94,613<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FurnitureAndFixturesGross', window );">Furniture, fixtures and office equipment</a></td>
<td class="nump">9,077<span></span>
</td>
<td class="nump">8,307<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareGross', window );">Computer hardware and software</a></td>
<td class="nump">35,528<span></span>
</td>
<td class="nump">29,813<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConstructionInProgressGross', window );">Construction in progress</a></td>
<td class="nump">47,086<span></span>
</td>
<td class="nump">31,553<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentOther', window );">Other</a></td>
<td class="nump">544<span></span>
</td>
<td class="nump">420<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Total property, plant and equipment</a></td>
<td class="nump">336,163<span></span>
</td>
<td class="nump">282,980<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less - Accumulated depreciation</a></td>
<td class="num">(128,723)<span></span>
</td>
<td class="num">(92,307)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Total property, plant and equipment, net</a></td>
<td class="nump">$ 207,440<span></span>
</td>
<td class="nump">$ 190,673<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BuildingsAndImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depletion of real estate held for productive use, excluding land held for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>90
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291487024560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Balance Sheet Detail - 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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">$ 37.0<span></span>
</td>
<td class="nump">$ 23.9<span></span>
</td>
<td class="nump">$ 16.4<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>91
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291473406656">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheet Detail - Schedule of Accrued Liabilities (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Employee compensation</a></td>
<td class="nump">$ 16,660<span></span>
</td>
<td class="nump">$ 33,522<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenueCurrent', window );">Deferred revenue</a></td>
<td class="nump">10,287<span></span>
</td>
<td class="nump">19,283<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Income taxes payable</a></td>
<td class="nump">6,814<span></span>
</td>
<td class="nump">2,459<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">16,772<span></span>
</td>
<td class="nump">15,856<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Total accrued liabilities</a></td>
<td class="nump">$ 50,533<span></span>
</td>
<td class="nump">$ 71,120<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of Accrued Liabilities [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291483760512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - 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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">Domestic</a></td>
<td class="num">$ (17,601)<span></span>
</td>
<td class="nump">$ 153,446<span></span>
</td>
<td class="nump">$ 81,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="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign', window );">Foreign</a></td>
<td class="nump">81,733<span></span>
</td>
<td class="nump">65,694<span></span>
</td>
<td class="nump">71,559<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">$ 64,132<span></span>
</td>
<td class="nump">$ 219,140<span></span>
</td>
<td class="nump">$ 153,543<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of Income Before Income Tax [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>93
<FILENAME>R82.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291473654320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - 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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current</a></td>
<td class="nump">$ 20,238<span></span>
</td>
<td class="nump">$ 34,800<span></span>
</td>
<td class="nump">$ 20,166<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ProvisionForDeferredIncomeTaxExpenseBenefit', window );">Deferred</a></td>
<td class="nump">2,317<span></span>
</td>
<td class="num">(1,619)<span></span>
</td>
<td class="nump">5,086<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total</a></td>
<td class="nump">$ 22,555<span></span>
</td>
<td class="nump">$ 33,181<span></span>
</td>
<td class="nump">$ 25,252<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income Taxes [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Provision for Deferred Income Tax Expense (Benefit)</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<FILENAME>R83.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291473459152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - 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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="Show.showAR( this, 'defref_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations', window );">Federal</a></td>
<td class="nump">$ 3,512<span></span>
</td>
<td class="nump">$ 17,662<span></span>
</td>
<td class="nump">$ 8,321<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations', window );">State</a></td>
<td class="nump">142<span></span>
</td>
<td class="nump">1,381<span></span>
</td>
<td class="nump">1,251<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations', window );">Foreign</a></td>
<td class="nump">18,901<span></span>
</td>
<td class="nump">14,138<span></span>
</td>
<td class="nump">15,680<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total</a></td>
<td class="nump">$ 22,555<span></span>
</td>
<td class="nump">$ 33,181<span></span>
</td>
<td class="nump">$ 25,252<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income Taxes [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current and deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current and deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current and deferred foreign income tax expense (benefit) attributable to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current and deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current and deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>95
<FILENAME>R84.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291471356224">
<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>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Net operating loss carry forwards</a></td>
<td class="nump">$ 4,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherInformationPertainingToIncomeTaxes', window );">Net operating loss and business tax credit carry forwards expiration date</a></td>
<td class="text">at various dates through 2043<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount', window );">Valuation allowance increase (decrease)</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense', window );">Interest and penalties related to income taxes</a></td>
<td class="nump">15,000<span></span>
</td>
<td class="nump">24,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued', window );">Interest and penalties accrued</a></td>
<td class="nump">67,000<span></span>
</td>
<td class="nump">52,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions', window );">Unrecognized tax benefits decreases resulting from current period tax positions</a></td>
<td class="nump">1,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained Earnings (Accumulated Deficit)</a></td>
<td class="nump">438,849<span></span>
</td>
<td class="nump">$ 397,272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UndistributedEarningsOfForeignSubsidiaries', window );">Undistributed earnings of foreign subsidiaries</a></td>
<td class="nump">212,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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ForeignEarningsSubjectToOneTimeTransitionTax', window );">Foreign earnings subject to one time transition tax</a></td>
<td class="nump">5,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Net operating loss carry forwards</a></td>
<td class="nump">1,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember', window );">State | Tax Year 2043 Member</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardAmount', window );">Business tax credits carry forwards</a></td>
<td class="nump">5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Net operating loss carry forwards</a></td>
<td class="nump">$ 31,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=rgen_InflationReductionActOfTwoThousandTwentyTwoMember', window );">nflation Reduction Act Of Two Thousand Twenty Two</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_PercentageOfCurrentFederalTaxExpenseBenefit', window );">Percentage of alternative minimum tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgen_ForeignEarningsSubjectToOneTimeTransitionTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Foreign Earnings Subject To One Time Transition Tax</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income Taxes [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_PercentageOfCurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage Of Current Federal Tax Expense Benefit</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_PercentageOfCurrentFederalTaxExpenseBenefit</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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherInformationPertainingToIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxCreditCarryforwardAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482620/740-10-25-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 740<br> -Topic 942<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481141/942-740-50-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 740<br> -Topic 944<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480135/944-740-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_TaxPeriodAxis=rgen_TaxYear2043Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxPeriodAxis=rgen_TaxYear2043Member</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=rgen_InflationReductionActOfTwoThousandTwentyTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=rgen_InflationReductionActOfTwoThousandTwentyTwoMember</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>R85.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291474091312">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income Taxes - Consolidated Deferred Tax Assets (Liabilities) (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNetAbstract', window );"><strong>Deferred tax assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 5,120<span></span>
</td>
<td class="nump">$ 5,323<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DeferredTaxAssetsOperatingLeases', window );">Operating leases</a></td>
<td class="nump">30,727<span></span>
</td>
<td class="nump">31,564<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch', window );">Capitalized research and development</a></td>
<td class="nump">17,568<span></span>
</td>
<td class="nump">9,102<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInventory', window );">Inventory</a></td>
<td class="nump">10,131<span></span>
</td>
<td class="nump">5,983<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Net operating loss carryforwards</a></td>
<td class="nump">7,578<span></span>
</td>
<td class="nump">9,808<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards', window );">Business tax credit carryforwards</a></td>
<td class="nump">4,697<span></span>
</td>
<td class="nump">2,639<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther', window );">Other</a></td>
<td class="nump">5,314<span></span>
</td>
<td class="nump">4,440<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Total deferred tax assets</a></td>
<td class="nump">81,135<span></span>
</td>
<td class="nump">68,859<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Less: valuation allowance</a></td>
<td class="num">(20)<span></span>
</td>
<td class="num">(19)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Net deferred tax assets</a></td>
<td class="nump">81,115<span></span>
</td>
<td class="nump">68,840<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DeferredIncomeTaxLiabilitiesFixedAssets', window );">Fixed assets</a></td>
<td class="num">(17,716)<span></span>
</td>
<td class="num">(18,965)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets', window );">Acquired intangible assets</a></td>
<td class="num">(56,956)<span></span>
</td>
<td class="num">(43,549)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets', window );">Operating lease right of use assets</a></td>
<td class="num">(26,373)<span></span>
</td>
<td class="num">(28,486)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DeferredTaxLiabilitiesDebtDiscount', window );">Debt discount</a></td>
<td class="num">(19,006)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred tax liabilities</a></td>
<td class="num">(120,051)<span></span>
</td>
<td class="num">(91,000)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilities', window );">Total net deferred tax liabilities</a></td>
<td class="num">$ (38,936)<span></span>
</td>
<td class="num">$ (22,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_DeferredIncomeTaxLiabilitiesFixedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred income tax liabilities, fixed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_DeferredTaxAssetsOperatingLeases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred Tax Assets Operating Leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_DeferredTaxLiabilitiesDebtDiscount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax liabilities, debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DeferredTaxLiabilitiesDebtDiscount</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax liabilities, operating lease right of use assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of a valuation allowances, of deferred tax assets attributable to deductible tax credit carryforwards including, but not limited to, research, foreign, general business, alternative minimum tax, and other deductible tax credit carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxCreditCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from provisions, reserves, allowances, and accruals, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<FILENAME>R86.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291475082576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - 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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">$ 64,132<span></span>
</td>
<td class="nump">$ 219,140<span></span>
</td>
<td class="nump">$ 153,543<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate', window );">Expected tax at statutory rate</a></td>
<td class="nump">13,469<span></span>
</td>
<td class="nump">46,020<span></span>
</td>
<td class="nump">32,247<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential', window );">Difference between U.S. and foreign tax</a></td>
<td class="nump">1,084<span></span>
</td>
<td class="nump">1,024<span></span>
</td>
<td class="nump">530<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes', window );">State income tax</a></td>
<td class="nump">1,387<span></span>
</td>
<td class="nump">3,509<span></span>
</td>
<td class="nump">1,462<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationTaxCredits', window );">Business tax credits</a></td>
<td class="num">(4,522)<span></span>
</td>
<td class="num">(5,139)<span></span>
</td>
<td class="num">(2,239)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost', window );">Stock-based compensation expense</a></td>
<td class="num">(2,461)<span></span>
</td>
<td class="num">(5,638)<span></span>
</td>
<td class="num">(9,049)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings', window );">U.S. taxation of foreign earnings</a></td>
<td class="nump">343<span></span>
</td>
<td class="nump">83<span></span>
</td>
<td class="nump">30<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount', window );">Foreign-derived intangible income</a></td>
<td class="num">(88)<span></span>
</td>
<td class="num">(5,042)<span></span>
</td>
<td class="num">(2,547)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation', window );">Executive compensation</a></td>
<td class="nump">3,084<span></span>
</td>
<td class="nump">5,441<span></span>
</td>
<td class="nump">3,397<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount', window );">Contingent consideration</a></td>
<td class="num">(6,412)<span></span>
</td>
<td class="num">(6,033)<span></span>
</td>
<td class="nump">1,232<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange', window );">Loss on extinguishment of debt</a></td>
<td class="nump">2,634<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount', window );">Debt discount</a></td>
<td class="nump">16,650<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss', window );">Foreign exchange loss</a></td>
<td class="num">(2,288)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationTaxContingencies', window );">Uncertain tax provisions</a></td>
<td class="nump">165<span></span>
</td>
<td class="nump">234<span></span>
</td>
<td class="num">(443)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(688)<span></span>
</td>
<td class="num">(48)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_IncomeTaxReconciliationReturnToProvisionAdjustments', window );">Return to provision adjustments</a></td>
<td class="num">(1,255)<span></span>
</td>
<td class="num">(498)<span></span>
</td>
<td class="num">(50)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationOtherReconcilingItems', window );">Other</a></td>
<td class="nump">765<span></span>
</td>
<td class="num">(92)<span></span>
</td>
<td class="nump">730<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total</a></td>
<td class="nump">$ 22,555<span></span>
</td>
<td class="nump">$ 33,181<span></span>
</td>
<td class="nump">$ 25,252<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="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="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Difference between U.S. and foreign tax</a></td>
<td class="nump">1.70%<span></span>
</td>
<td class="nump">0.50%<span></span>
</td>
<td class="nump">0.30%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State income and franchise tax</a></td>
<td class="nump">2.20%<span></span>
</td>
<td class="nump">1.60%<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits', window );">Business tax credits</a></td>
<td class="num">(7.10%)<span></span>
</td>
<td class="num">(2.30%)<span></span>
</td>
<td class="num">(1.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="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost', window );">Stock-based compensation expense</a></td>
<td class="num">(3.80%)<span></span>
</td>
<td class="num">(2.60%)<span></span>
</td>
<td class="num">(5.90%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings', window );">U.S. taxation of foreign earnings</a></td>
<td class="nump">0.50%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.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="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent', window );">Foreign-derived intangible income</a></td>
<td class="num">(0.10%)<span></span>
</td>
<td class="num">(2.30%)<span></span>
</td>
<td class="num">(1.70%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation', window );">Executive compensation</a></td>
<td class="nump">4.80%<span></span>
</td>
<td class="nump">2.50%<span></span>
</td>
<td class="nump">2.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="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent', window );">Contingent consideration</a></td>
<td class="num">(10.00%)<span></span>
</td>
<td class="num">(2.80%)<span></span>
</td>
<td class="nump">0.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="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent', window );">Loss on extinguishment of debt</a></td>
<td class="nump">4.10%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage', window );">Debt discount</a></td>
<td class="nump">26.00%<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="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent', window );">Foreign exchange loss</a></td>
<td class="num">(3.60%)<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.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="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies', window );">Uncertain tax provisions</a></td>
<td class="nump">0.30%<span></span>
</td>
<td class="nump">0.10%<span></span>
</td>
<td class="num">(0.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="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.30%)<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments', window );">Return to provision adjustments</a></td>
<td class="num">(2.00%)<span></span>
</td>
<td class="num">(0.20%)<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="nump">1.20%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.50%<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Income tax provision</a></td>
<td class="nump">35.20%<span></span>
</td>
<td class="nump">15.10%<span></span>
</td>
<td class="nump">16.40%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax ratereconciliation debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount</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_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation debt discount percentage.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage</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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation, foreign exchange loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss</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_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Foreign Exchange Loss, Percent</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent</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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation, loss on debt exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange</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_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation, loss on debt exchange, percent</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent</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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation, nondeductible expense, contingent consideration,amount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount</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_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation, nondeductible expense,contingent consideration , percent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent</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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Nondeductible Expense, Executive Compensation</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Return to Provision Adjustments</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncomeTaxRateReconciliationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income Tax Rate Reconciliation [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income Tax Reconciliation, Nondeductible Expense, Executive Compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income Tax Reconciliation Return to Provision Adjustments</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of reported income tax benefit from difference to expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to foreign-derived intangible income (FDII).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EffectiveIncomeTaxRateReconciliationFdiiPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of reported income tax benefit from difference to income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to foreign-derived intangible income (FDII).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to the repatriation of foreign earnings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_IncomeTaxReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>98
<FILENAME>R87.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291482797184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - 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, 2023</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States | 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="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="Show.showAR( this, 'defref_us-gaap_OpenTaxYear', window );">Fiscal year subject to examination</a></td>
<td class="text">2019<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States | 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="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="Show.showAR( this, 'defref_us-gaap_OpenTaxYear', window );">Fiscal year subject to examination</a></td>
<td class="text">2023<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_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="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="Show.showAR( this, 'defref_us-gaap_OpenTaxYear', window );">Fiscal year subject to examination</a></td>
<td class="text">2018<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_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="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="Show.showAR( this, 'defref_us-gaap_OpenTaxYear', window );">Fiscal year subject to examination</a></td>
<td class="text">2023<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tax year that remains open to examination under enacted tax laws, in YYYY format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxPeriodAxis=us-gaap_EarliestTaxYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_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>99
<FILENAME>R88.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291474200400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - 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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Balance of gross unrecognized tax benefits, beginning of period</a></td>
<td class="nump">$ 2,996<span></span>
</td>
<td class="nump">$ 2,786<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions', window );">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period</a></td>
<td class="nump">178<span></span>
</td>
<td class="nump">146<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="nump">53<span></span>
</td>
<td class="nump">64<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease', window );">Gross amounts of decrease due to release</a></td>
<td class="num">(88)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Balance of gross unrecognized tax benefits, end of period</a></td>
<td class="nump">$ 3,139<span></span>
</td>
<td class="nump">$ 2,996<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unrecognized Tax Benefits, Period Gross Decreases Release</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-10B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<FILENAME>R89.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291474761872">
<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">1 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 29, 2023</div></th>
<th class="th"><div>Dec. 14, 2023</div></th>
<th class="th"><div>Dec. 06, 2023</div></th>
<th class="th"><div>May 31, 2023</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="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">55,766,078<span></span>
</td>
<td class="nump">55,766,078<span></span>
</td>
<td class="nump">55,557,698<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised number of shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">40,211<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 25,575<span></span>
</td>
<td class="nump">$ 27,316<span></span>
</td>
<td class="nump">$ 27,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Stock options, outstanding</a></td>
<td class="nump">649,130<span></span>
</td>
<td class="nump">649,130<span></span>
</td>
<td class="nump">609,965<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Restricted stock units, outstanding</a></td>
<td class="nump">474,320<span></span>
</td>
<td class="nump">474,320<span></span>
</td>
<td class="nump">531,034<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Aggregate intrinsic value of stock options exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,800<span></span>
</td>
<td class="nump">$ 14,100<span></span>
</td>
<td class="nump">$ 20,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value of share-based awards granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 84.37<span></span>
</td>
<td class="nump">$ 87.40<span></span>
</td>
<td class="nump">$ 88.01<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1', window );">Total fair value of stock options vested</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,700<span></span>
</td>
<td class="nump">$ 3,100<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value of restricted stock units granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 170.03<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Total unrecognized compensation cost</a></td>
<td class="nump">$ 63,800<span></span>
</td>
<td class="nump">$ 63,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Unrecognized compensation cost, weighted average remaining requisite service period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 10 months 2 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares', window );">Number of unvested options and restricted stock units</a></td>
<td class="nump">2,185,873<span></span>
</td>
<td class="nump">2,185,873<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_AvitideLlcMember', window );">Avitide 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares 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="text">&#160;<span></span>
</td>
<td class="nump">42,621<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_EarnoutConsiderationEarned', window );">Earnout consideration earned</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="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Incentive options, vesting period</a></td>
<td class="nump">1,671,408<span></span>
</td>
<td class="nump">1,671,408<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember', window );">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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(92,090)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="text">&#160;<span></span>
</td>
<td class="nump">$ 179.80<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgen_UnvestedOptionsMember', window );">Unvested Options [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Incentive options, vesting period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember', window );">Restricted Stock And Performance Stock Units [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested', window );">Aggregate intrinsic value of restricted stock units vested</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 35,700<span></span>
</td>
<td class="nump">43,900<span></span>
</td>
<td class="nump">46,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue', window );">Total grant date fair value of restricted stock units vested</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 26,200<span></span>
</td>
<td class="nump">$ 22,700<span></span>
</td>
<td class="nump">$ 13,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgen_NonEmployeeDirectorStockOptionMember', window );">Non Employee Director Stock Option[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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<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="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">0.00%<span></span>
</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=rgen_NonExecutiveMember', window );">Non-Executive [Member] | Employee Stock Option</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<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="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">8.00%<span></span>
</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=rgen_NonExecutiveMember', window );">Non-Executive [Member] | Restricted Stock And Performance Stock Units [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<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="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">8.00%<span></span>
</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember', window );">Executive Officer [Member] | Employee Stock Option</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<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="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">3.00%<span></span>
</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember', window );">Executive Officer [Member] | Restricted Stock And Performance Stock Units [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<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="Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">3.00%<span></span>
</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Net proceeds from public offering</a></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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="nump">92,090<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Closing price of common stock</a></td>
<td class="nump">$ 156.22<span></span>
</td>
<td class="nump">$ 156.22<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 156.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Share repurchase amount</a></td>
<td class="nump">$ 25,000<span></span>
</td>
<td class="nump">$ 25,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="nump">600,000<span></span>
</td>
<td class="nump">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="nump">$ 290,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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028 | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="nump">$ 1,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_EarnoutConsiderationEarned">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Earnout consideration earned.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EarnoutConsiderationEarned</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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_PercentageOfSharesSubjectToForfeiture">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of shares subject to forfeiture.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangement by Share-based Payment Award, Options and Equity Instruments Other Than Options, Nonvested, Number of Shares</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stockholders Equity Note Disclosure [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate number of common shares reserved for future issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-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_AvitideLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_AvitideLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=rgen_StockOptionAndIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=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_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=rgen_UnvestedOptionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=rgen_UnvestedOptionsMember</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_RestrictedStockAndPerformanceStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=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_srt_TitleOfIndividualAxis=rgen_NonExecutiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_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=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_TitleOfIndividualAxis=srt_ExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_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_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</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>R90.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291485437632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity -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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">$ 25,575<span></span>
</td>
<td class="nump">$ 27,316<span></span>
</td>
<td class="nump">$ 27,500<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of 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="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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">1,933<span></span>
</td>
<td class="nump">2,525<span></span>
</td>
<td class="nump">2,021<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">2,855<span></span>
</td>
<td class="nump">2,622<span></span>
</td>
<td class="nump">2,856<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_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="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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">$ 20,787<span></span>
</td>
<td class="nump">$ 22,169<span></span>
</td>
<td class="nump">$ 22,623<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_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>102
<FILENAME>R91.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291485370544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - 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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum', window );">Expected volatility (range), minimum</a></td>
<td class="nump">44.78%<span></span>
</td>
<td class="nump">41.44%<span></span>
</td>
<td class="nump">44.57%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum', window );">Expected volatility (range), maximum</a></td>
<td class="nump">46.58%<span></span>
</td>
<td class="nump">43.96%<span></span>
</td>
<td class="nump">45.27%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum', window );">Risk-free interest rate, minimum</a></td>
<td class="nump">3.56%<span></span>
</td>
<td class="nump">1.86%<span></span>
</td>
<td class="nump">0.77%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum', window );">Risk-free interest rate, maximum</a></td>
<td class="nump">4.71%<span></span>
</td>
<td class="nump">4.07%<span></span>
</td>
<td class="nump">1.07%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (in years)</a></td>
<td class="text">5 years 1 month 20 days<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="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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">6 days 12 hours<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>103
<FILENAME>R92.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291475053680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity -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, 2023 </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="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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding at December 31, 2022 | shares | shares</a></td>
<td class="nump">609,965<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Granted | shares | shares</a></td>
<td class="nump">90,305<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="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised | shares | shares</a></td>
<td class="num">(40,211)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Forfeited/expired/cancelled | Shares | shares</a></td>
<td class="num">(10,929)<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding at December 31, 2023 | shares | shares</a></td>
<td class="nump">649,130<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Options exercisable at December 31, 2023 | shares | shares</a></td>
<td class="nump">364,443<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Vested and expected to vest at December 31, 2021 | shares | shares</a></td>
<td class="nump">635,834<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Options outstanding at December 31, 2022 | $ / shares</a></td>
<td class="nump">$ 71.74<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted | $ / shares</a></td>
<td class="nump">168.22<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised | $ / shares</a></td>
<td class="nump">26.76<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Forfeited/expired/cancelled | $ / shares</a></td>
<td class="nump">189.46<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Options outstanding at December 31, 2023 | $ / shares</a></td>
<td class="nump">85.97<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Options exercisable at December 31, 2023 | $ / shares</a></td>
<td class="nump">65.53<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice', window );">Vested and expected to vest at December 31, 2022 | $ / shares</a></td>
<td class="nump">$ 85.49<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Vested and expected to vest at December 31, 2021</a></td>
<td class="text">5 years 7 months 2 days<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Vested and expectd to vest at December 31, 2021 | $</a></td>
<td class="nump">$ 61,888<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"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested options as of December 31, 2023 plus the number of unvested options expected to vest as of December 31, 2023, based on the unvested outstanding options at </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</span></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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangement by Share-based Payment Award, Options, Aggregate Intrinsic Value [Abstract]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>R93.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291482899536">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Stockholders' Equity - Summary of Option Activity (Parenthetical) (Detail) - Employee Stock Option<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', 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="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="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="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', 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="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="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of shares subject to forfeiture.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_TitleOfIndividualAxis=rgen_NonExecutiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_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>105
<FILENAME>R94.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291471718336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Summary of Restricted Stock Unit Activity (Detail)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr><th class="th" colspan="2">
<div>Dec. 31, 2023 </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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', 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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Shares, Unvested at December 31, 2022 | shares</a></td>
<td class="nump">531,034<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Shares Awarded | shares</a></td>
<td class="nump">212,338<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Shares, Vested | shares</a></td>
<td class="num">(195,672)<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Shares, Forfeited/cancelled | shares</a></td>
<td class="num">(73,380)<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Shares, Unvested at December 31, 2023 | shares</a></td>
<td class="nump">474,320<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber', window );">Shares, Vested and expected to vest at December 31, 2023 | shares</a></td>
<td class="nump">413,249<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="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>
<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average, Unvested at December 31,2022 | $ / shares</a></td>
<td class="nump">$ 142.57<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average, Awarded | $ / shares</a></td>
<td class="nump">170.03<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average, Vested | $ / shares</a></td>
<td class="nump">124.58<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Weighted Average, Forfeited/Cancelled | $ / shares</a></td>
<td class="nump">177.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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average, Unvested at December 31, 2023 | $ / shares</a></td>
<td class="nump">155.59<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue', window );">Weighted Average, Vested and expected to vest at December 31, 2023 | $ / shares</a></td>
<td class="nump">$ 152.74<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"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested stock units as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, plus the number of unvested stock units expected to vest as of December 31, 2023, based on the unvested outstanding stock units at December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</span></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested And Expected To Vest Number</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award equity instruments other than options vested and expected to vest outstanding weighted average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue</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>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>106
<FILENAME>R95.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480802000">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Stockholders' Equity - Summary of Restricted Stock Unit Activity (Parenthetical) (Detail) - Restricted Stock Units and Performance Stock Units<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember', 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="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="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="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember', 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="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="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of shares subject to forfeiture.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=rgen_RestrictedStockAndPerformanceStockUnitsMember</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_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>107
<FILENAME>R96.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291471731072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies - 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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractualObligationDueInNextTwelveMonths', window );">Outstanding obligation</a></td>
<td class="nump">$ 34.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RoyaltyExpense', window );">Royalty Expense</a></td>
<td class="nump">$ 3.8<span></span>
</td>
<td class="nump">$ 2.6<span></span>
</td>
<td class="nump">$ 2.3<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commitments and Contingencies [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_ContractualObligationDueInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of contractual obligation to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractualObligationDueInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RoyaltyExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense related to royalty payments under a contractual arrangement such as payment for mineral and drilling rights and use of technology or intellectual property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RoyaltyExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgen_NGLImpactAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>108
<FILENAME>R97.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291482950592">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Convertible Senior Notes - Carrying Value of Convertible Senior Notes (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 14, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayableCurrent', window );">Total convertible senior notes</a></td>
<td class="nump">$ 69,452<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 284,615<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleDebtNoncurrent', window );">Total convertible senior notes</a></td>
<td class="nump">510,143<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Principal amount</a></td>
<td class="nump">69,700<span></span>
</td>
<td class="nump">$ 217,700<span></span>
</td>
<td class="nump">287,470<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Unamortized debt issuance costs</a></td>
<td class="num">(248)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,855)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayableCurrent', window );">Total convertible senior notes</a></td>
<td class="nump">69,452<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">284,615<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Principal amount</a></td>
<td class="nump">600,000<span></span>
</td>
<td class="nump">$ 309,900<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscount', window );">Unamortized debt discount</a></td>
<td class="num">(81,457)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Unamortized debt issuance costs</a></td>
<td class="num">(8,400)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleDebtNoncurrent', window );">Total convertible senior notes</a></td>
<td class="nump">$ 510,143<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount of long-term convertible debt as of the balance sheet date, net of the amount due in the next twelve months or greater than the normal operating cycle, if longer. The debt is convertible into another form of financial instrument, typically the entity's common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-1A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-8<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</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>109
<FILENAME>R98.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291469349152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Convertible Senior Notes - Additional Information (Detail)<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">1 Months Ended</th>
<th class="th" colspan="1">3 Months Ended</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. 14, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jul. 19, 2019 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>Days </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 06, 2023 </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Jul. 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="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Proceeds from issuance of 2023 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="nump">$ 290,094<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="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payment of 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">7,253<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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Gain (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="num">(12,676)<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtInstrumentConvertibleIntoEquitySettled', window );">Debt instrument convertible in to equity settled</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">$ 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Notes redemption price</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">25.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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfDebtDiscountPremium', window );">Amortization of debt discount and 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">$ 2,448<span></span>
</td>
<td class="nump">1,815<span></span>
</td>
<td class="nump">11,530<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="Show.showAR( this, 'defref_rgen_AmortizationOfDebtIssuanceCost', window );">Amortization of 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">8,075<span></span>
</td>
<td class="nump">1,815<span></span>
</td>
<td class="nump">1,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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,569,227<span></span>
</td>
<td class="nump">$ 1,569,227<span></span>
</td>
<td class="nump">1,569,227<span></span>
</td>
<td class="nump">1,547,266<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilities', window );">Deferred Tax Liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">38,936<span></span>
</td>
<td class="nump">38,936<span></span>
</td>
<td class="nump">38,936<span></span>
</td>
<td class="nump">22,160<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">158,162<span></span>
</td>
<td class="nump">158,162<span></span>
</td>
<td class="nump">158,162<span></span>
</td>
<td class="nump">404,196<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities', window );">Conversion of Convertible Securities Stock Issued | 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="text">&#160;<span></span>
</td>
<td class="nump">2,791<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="num">(12,676)<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AdditionalPaidInCapitalMember', window );">Additional Paid-in Capital</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities', window );">Conversion of Convertible Securities Stock Issued | 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="text">&#160;<span></span>
</td>
<td class="nump">2,791<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="nump">$ 290,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="nump">$ 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="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_DebtInstrumentExchangedAmountCancelled', window );">Debt istrument cancelled</a></td>
<td class="nump">309,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>
<td class="text">&#160;<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="Show.showAR( this, 'defref_rgen_DebtInstrumentIssuedForCash', window );">Notes for cash</a></td>
<td class="nump">290,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Notes, interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">1.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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payment of 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">$ 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Unamortized debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (8,400)<span></span>
</td>
<td class="num">$ (8,400)<span></span>
</td>
<td class="num">(8,400)<span></span>
</td>
<td class="nump">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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscount', window );">Aggregate debt discount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 81,457<span></span>
</td>
<td class="nump">$ 81,457<span></span>
</td>
<td class="nump">$ 81,457<span></span>
</td>
<td class="nump">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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateTerms', window );">Interest repayment terms</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">Interest is payable semi-annually in arrears on each June 15 and December 15, commencing on June 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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentMaturityDate', window );">Notes, due date</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">Dec. 15,  2028<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionRatio1', window );">Notes conversion ratio per $1,000 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="nump">4,924.7000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionPrice1', window );">Notes initial conversion price | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 203.06<span></span>
</td>
<td class="nump">$ 203.06<span></span>
</td>
<td class="nump">$ 203.06<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateDuringPeriod', window );">Premium over sale price</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.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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Share Price | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 156.22<span></span>
</td>
<td class="nump">$ 156.22<span></span>
</td>
<td class="nump">$ 156.22<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 156.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Notes redemption price</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">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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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">$ 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfFinancingCosts', window );">Amortization of debt discount and 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">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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfDebtIssuanceCost', window );">Amortization of 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">$ 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="nump">4.39%<span></span>
</td>
<td class="nump">4.39%<span></span>
</td>
<td class="nump">4.39%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Notes, carrying value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 510,100<span></span>
</td>
<td class="nump">$ 510,100<span></span>
</td>
<td class="nump">$ 510,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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from issuance of common stock, net of issuance costs</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="nump">596,000<span></span>
</td>
<td class="nump">596,000<span></span>
</td>
<td class="nump">596,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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember', window );">1.00% Convertible Senior Notes due 2028 | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 1,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="nump">69,700<span></span>
</td>
<td class="nump">$ 287,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 287,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="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="nump">0.375%<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Proceeds from issuance of 2023 Convertible Senior Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 278,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Unamortized debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (248)<span></span>
</td>
<td class="num">$ (248)<span></span>
</td>
<td class="num">$ (248)<span></span>
</td>
<td class="num">$ (2,855)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateTerms', window );">Interest repayment terms</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">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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentMaturityDate', window );">Notes, due date</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">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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdTradingDays', window );">Notes threshold trading days | Days</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<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="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="nump">200<span></span>
</td>
<td class="nump">$ 200<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1', window );">Notes threshold consecutive trading days | Days</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">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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,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="Show.showAR( this, 'defref_us-gaap_AmortizationOfDebtDiscountPremium', window );">Amortization of debt discount and 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">22,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>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfFinancingCosts', window );">Amortization of debt discount and 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,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.02%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Notes, carrying value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">69,500<span></span>
</td>
<td class="nump">$ 69,500<span></span>
</td>
<td class="nump">69,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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="nump">109,800<span></span>
</td>
<td class="nump">109,800<span></span>
</td>
<td class="nump">$ 109,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_OptionToPurchaseAdditionalDebtFaceAmount', window );">Additional Notes issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 37,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>
<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="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="nump">4.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">52,100<span></span>
</td>
<td class="nump">52,100<span></span>
</td>
<td class="nump">$ 52,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="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<span></span>
</td>
<td class="text">&#160;<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="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="nump">1,600<span></span>
</td>
<td class="nump">1,600<span></span>
</td>
<td class="nump">1,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilities', window );">Deferred Tax Liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,400<span></span>
</td>
<td class="nump">11,400<span></span>
</td>
<td class="nump">11,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="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt', window );">Net adjustment for the initial</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">50,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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">69,500<span></span>
</td>
<td class="nump">69,500<span></span>
</td>
<td class="nump">69,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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember', window );">0.375% Convertible Senior Notes due 2024 | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="text">&#160;<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_ExchangeAndSubscriptionAgreementsMember', window );">Exchange and Subscription Agreements | 1.00% Convertible Senior Notes due 2028</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="nump">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>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_ExchangedTwoZeroOneNineNotesMember', window );">Exchanged 2019 Notes | 1.00% Convertible Senior Notes due 2028</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<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="Show.showAR( this, 'defref_rgen_DebtInstrumentExchangedAmount', window );">Debt instrument exchanged amount</a></td>
<td class="nump">217,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_rgen_ModificationOfDebt', window );">Modification of debt</a></td>
<td class="nump">188,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Gain (Loss) on Extinguishment of Debt</a></td>
<td class="nump">29,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>
<td class="nump">12,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Unamortized debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(100)<span></span>
</td>
<td class="num">(100)<span></span>
</td>
<td class="num">(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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="nump">29,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>
<td class="nump">12,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_ModifiedTwoZeroOneNineNotesMember', window );">Modified 2019 Notes | 1.00% Convertible Senior Notes due 2028</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="nump">79,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payment of debt issuance costs</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Unamortized debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7,800)<span></span>
</td>
<td class="num">(7,800)<span></span>
</td>
<td class="num">(7,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscount', window );">Aggregate debt discount</a></td>
<td class="nump">82,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>
<td class="text">&#160;<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="Show.showAR( this, 'defref_rgen_AmortizationOfDebtIssuanceCost', window );">Amortization of debt issuance costs</a></td>
<td class="nump">7,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_ModifiedTwoZeroOneNineNotesMember', window );">Modified 2019 Notes | 1.00% Convertible Senior Notes due 2028 | Additional Paid-in Capital</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities', window );">Conversion of Convertible Securities Stock Issued | value</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_ModifiedTwoZeroOneNineNotesMember', window );">Modified 2019 Notes | 1.00% Convertible Senior Notes due 2028 | Fair value of embedded conversion option</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities', window );">Conversion of Convertible Securities Stock Issued | value</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_SubscriptionTransactionsMember', window );">Subscription Transactions | 1.00% Convertible Senior Notes due 2028</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">290,100<span></span>
</td>
<td class="nump">290,100<span></span>
</td>
<td class="nump">$ 290,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="Show.showAR( this, 'defref_rgen_DebtInstrumentIssuedForCash', window );">Notes for cash</a></td>
<td class="nump">290,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Proceeds from issuance of 2023 Convertible Senior Notes</a></td>
<td class="nump">276,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payment of debt issuance costs</a></td>
<td class="nump">14,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from issuance of common stock, net of issuance costs</a></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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_TwoZeroTwoThreeNotesMember', window );">2023 Notes | 1.00% Convertible Senior Notes due 2028</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Notes redemption price</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">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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgen_AmortizationOfDebtIssuanceCost', window );">Amortization of 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">$ 6,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Notes, carrying value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">510,100<span></span>
</td>
<td class="nump">510,100<span></span>
</td>
<td class="nump">510,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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="nump">$ 596,000<span></span>
</td>
<td class="nump">$ 596,000<span></span>
</td>
<td class="nump">$ 596,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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_OutstandingTwoZeroTwoThreeNotesMember', window );">Outstanding 2023 Notes | 1.00% Convertible Senior Notes due 2028</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Notes redemption price</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">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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=rgen_ExchangeTransactionMember', window );">Exchange Transaction | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Aggregate principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 69,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>
<td class="text">&#160;<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="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum | 1.00% Convertible Senior Notes due 2028</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Notes redemption price</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">25.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_AmortizationOfDebtIssuanceCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortization of debt issuance cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AmortizationOfDebtIssuanceCost</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_ConvertibleNotesTransactionCostsOfEquityComponent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Convertible notes transaction costs of equity component.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Convertible notes transaction costs of liability component.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt instrument convertible into equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_DebtInstrumentConvertibleIntoEquitySettled">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt instrument convertible in to equity settled</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtInstrumentConvertibleIntoEquitySettled</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_DebtInstrumentExchangedAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument Exchanged Amount</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtInstrumentExchangedAmount</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_DebtInstrumentExchangedAmountCancelled">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt instrument exchanged amount cancelled</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtInstrumentExchangedAmountCancelled</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_DebtInstrumentIssuedForCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt instrument issued for cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtInstrumentIssuedForCash</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_DiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Discount rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ModificationOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Modification of debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ModificationOfDebt</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_OptionToPurchaseAdditionalDebtFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Option to purchase additional debt face amount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 25<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481284/470-20-25-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_AmortizationOfDebtDiscountPremium">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-1A<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.8)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense attributable to debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DebtInstrumentConvertibleConversionPrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The price per share of the conversion feature embedded in the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleConversionRatio1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-7<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleThresholdTradingDays">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DebtInstrumentInterestRateDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average effective interest rate during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(2))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage price of original principal amount of debt at which debt can be redeemed by the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph e<br> -SubTopic 470<br> -Topic 942<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480848/942-470-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentUnamortizedDiscount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-1A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-8<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481303/470-50-40-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481303/470-50-40-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_PaymentsOfDebtIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDebtIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The gross value of stock issued during the period upon the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_StatementEquityComponentsAxis=us-gaap_AdditionalPaidInCapitalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AdditionalPaidInCapitalMember</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_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ShortTermDebtTypeAxis=rgen_ExchangeAndSubscriptionAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=rgen_ExchangeAndSubscriptionAgreementsMember</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_ShortTermDebtTypeAxis=rgen_ExchangedTwoZeroOneNineNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=rgen_ExchangedTwoZeroOneNineNotesMember</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_ShortTermDebtTypeAxis=rgen_ModifiedTwoZeroOneNineNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=rgen_ModifiedTwoZeroOneNineNotesMember</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=rgen_FairValueOfEmbeddedConversionOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=rgen_FairValueOfEmbeddedConversionOptionMember</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_ShortTermDebtTypeAxis=rgen_SubscriptionTransactionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=rgen_SubscriptionTransactionsMember</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_ShortTermDebtTypeAxis=rgen_TwoZeroTwoThreeNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=rgen_TwoZeroTwoThreeNotesMember</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_ShortTermDebtTypeAxis=rgen_OutstandingTwoZeroTwoThreeNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=rgen_OutstandingTwoZeroTwoThreeNotesMember</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_ShortTermDebtTypeAxis=rgen_ExchangeTransactionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=rgen_ExchangeTransactionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>110
<FILENAME>R99.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291480327104">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accumulated Other Comprehensive Income (Loss) - Changes in Accumulated Other Comprehensive Income (Loss) (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="nump">$ 1,910,700<span></span>
</td>
<td class="nump">$ 1,750,067<span></span>
</td>
<td class="nump">$ 1,529,150<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="nump">$ 1,971,203<span></span>
</td>
<td class="nump">$ 1,910,700<span></span>
</td>
<td class="nump">$ 1,750,067<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>111
<FILENAME>R100.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291481661504">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="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="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanContributionsByEmployer', window );">Defined contribution plan, company contribution</a></td>
<td class="nump">$ 3.0<span></span>
</td>
<td class="nump">$ 2.7<span></span>
</td>
<td class="nump">$ 1.8<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_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="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="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="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="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="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanContributionsByEmployer', window );">Defined contribution plan, company contribution</a></td>
<td class="nump">$ 1.0<span></span>
</td>
<td class="nump">$ 1.1<span></span>
</td>
<td class="nump">$ 0.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_DefinedContributionPlanEmployeeEligibilityAge">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Defined Contribution Plan Employee Eligibility Age</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of contribution received by defined benefit plan from employer which increases plan assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis=rgen_DefinedContribution401KPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>112
<FILENAME>R101.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140291482919776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions - Additional Information (Detail) - Principal Owner - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfessionalFees', window );">Spectrum Acquisition, tax preparation and other fees</a></td>
<td class="nump">$ 0.7<span></span>
</td>
<td class="nump">$ 0.7<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="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_PrincipalOwnerMember', window );">Minimum | Spectrum 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners', window );">Non controlling ownership interest minimum</a></td>
<td class="nump">5.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The equity interest of noncontrolling shareholders, partners or other equity holders in consolidated entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfessionalFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (k)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c)(2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c)(2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_PrincipalOwnerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_OwnershipAxis=rgen_SpectrumIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>114
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M!O#[G01>/MR8;ZW]M_7E/U!+ P04    "  X@U98$5G#\N("  "="0  &
M 'AL+W=O<FMS:&5E=',O<VAE970S+GAM;)V676_:,!2&_XH5]:*5.O(!"5 !
M$@6F5NI:5-KMVB0'8M6)F>U MU\_.PD9@0"A7"1V\K['SS''L7L;QC]$""#1
M9T1CT3="*5=WIBG\$"(L&FP%L7JS8#S"4G7YTA0K#CA(31$U'<ORS B3V!CT
MTF=3/NBQ1%(2PY0CD401YG_N@;)-W["-[8-7L@RE?F .>BN\A!G(]]64JYY9
M1 E(!+$@+$8<%GUC:-^-;$L;4L5/ ANQTT8ZE3EC'[KS&/0-2Q,!!5_J$%C=
MUC "2G4DQ?$[#VH48VKC;GL;_7N:O$IFC@6,&/U% AGVC8Z! EC@A,I7MGF
M/"%7Q_,9%>D5;3*MUS60GPC)HMRL""(29W?\F4_$CL%N'3$XN<&I:VCFAF::
M:$:6IC7&$@]ZG&T0UVH533?2N4G=*AL2Z[]Q)KEZ2Y1/#D8OS[.7I\?Q\&TR
M1O?#I^'S:()F#Y/)VPQ=3S&'6(8@B8_I#?J&WF=C='UU@ZX0B=%;R!*!XT#T
M3*E(=#S3ST>]ST9UCHPZ!K^!FO8M<BRG66$?U;<[9;NI\B\FP2DFP4GCM8[$
M&_H^2V(I5%WZ0-9X3N%6M07P-2"U5%# DKE<)%157::L2CD;PTW'T*MG/7!L
MC;?>3>Q09#<]MQ"5\)L%?O,D_E15/G . 5+EXG_<HA7F:(UI E686:SV#H'5
ML.P]S#.B$F:KP&Q=ABE"55\"X42&C)._$%3A9C&]'1+72G][Q.=U)6BW@':_
M!$V$2*J!W0.0?=13BA*D5T!Z7X)4GVTAU0HE\;**U#M+>DI1(FT7I.V3I",6
M1>KC7:=.VW7J](RHQ-@I&#L7,-8JTL[!/'6LRBJM(2PQ=POF[N7,QVNT>[A8
MW+;G6>W.'F^54$N[G6I>V_J_[UB7$Y\IV#QD#>Y*926XN;-WZH/+#\R7)!:(
MPD)9K49;K5:>G06RCF2K=#N=,ZDVY[09JO,3<"U0[Q>,R6U'[]#%B6SP#U!+
M P04    "  X@U98&SY[>/@'   !)P  &    'AL+W=O<FMS:&5E=',O<VAE
M970T+GAM;+5::V_CMA+]*X1;%%D@B452SVQB((FUV ";!Y*T_7#1#XI-V[J5
M15>DG:2__E*2;5GDB-EM=1$@MN0S(Y[AD'-(ZOR5%W^*!6,2O2VS7%P,%E*N
MSH9#,5FP92).^8KEZI<9+Y:)5)?%?"A6!4NFE=$R&Q+'\8?+),T'H_/JWD,Q
M.N=KF:4Y>RB06"^72?%^Q3+^>C' @]V-QW2^D.6-X>A\E<S9$Y._KAX*=37<
M>YFF2Y:+E.>H8+.+P24^BVE4&E2(WU+V*@Z^HY+*"^=_EA<WTXN!4[:(96PB
M2Q>)^MBP:Y9EI2?5CK^V3@?[9Y:&A]]WWK]4Y!69ET2P:Y[]GD[EXF(0#M"4
MS9)U)A_YZU>V)>25_B8\$]5_]+K%.@,T60O)EUMCU8)EFM>?R=LV$ <&V.\P
M(%L#HAO0#@.Z-:"Z@=MAX&X-W.\U\+8&%?5AS;T*W#B1R>B\X*^H*-'*6_FE
MBGYEK>*5YF6B/,E"_9HJ.SFZOK][NO]V,[Y\CL?HZ5E]W,9WST_H_@NZOK]]
M>(R_QG=/-[_%Z.9.7<?H!/WZ-$9'/W]"/Z,T1\\+OA9)/A7G0ZE:4_H<3K9/
MOJJ?3#J>C FZY;E<"!3G4S9M.Q@J&GLN9,?EBE@]CMGD%%%\C(A#*-"@\?>;
M$\ \_GYS;&%#]SU#*W^TP]\CV[!\S<Z@R-:6+FQ9SBUG8I5,V,5 31Z"%1LV
M&/WR$_:=SU!4^G06]^2L%3%W'S'7YGT7,2A@M:%7&99SYV;DTS#PW?/AYC 4
M)BQTL$?]-BP&O 6.1QMOK>9[^^9[U@Z_YD(*I 834F6@2&2:SQ%[4Q5!, %F
M@==G%O3I+.[)62N,_CZ,OC4+RC B/D.K@D_7$ZFJ66=6U([\@WZD'HW*P=_*
M"@#F>B%UM*PP822(2.C 61'LZ00?)+5@23%95(DQ55PROE*%6D)\ J,%+@D,
M.@"*1D:.FRBJG'6D>+@G$UK)/"E!H-+Z&,U9KE(\JT@E4U774B'+E-^ _12:
MD<4AQE0C!L&\D$0:,Q.&0QKZ/DPMVE.+/DB[O!RQJF?0A"L=-:V&,,\A/I'1
M@A/J>+[6T#$ (V%@\#%A7NA[,!OL-+K L?)YYE+US\0R)X$EWP$:X^(PU*A!
MN, _[(2:&X1S* F[Z!W('FRE=Y-/^)*A6<&7.VJJUT!*V&R"JQJK,S)AA+BJ
M+NB,3!SV ^)&'8Q(PXA8R\>]7+!":;**U]&NDSZ!E6/KJJ?2T:NWN"]O[3 V
MJ@M;)8I*C T3LIQAM[$$XT?-SG8Q]?2<,&%^%(1Z1I@H''3,1KC10M@NAFYR
MR51\Y&ZX@C1<<X;!D8=U&A ,^T3G <+( =\VE4878:M>&'WC0B"UJ&1OY?RS
M3L6BZAY5XZ?L!2R$6X?MIA#?'+0FSABO-DB;4*-0L%VB7"YY(=._JSEG1P.E
M0JR3?,+J.1=D92J,D] )C*P#8*I<>CHQ".;2KL1K] JV"Y:.>0@D9(J,$!.]
MK .HD\BC6.<#P%26=F5?(UFP7;-T\#E&.8-SS]07D><9F6>B3CS/T)00#-/
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
M*2;F,()D/#*7$$C&?-[+#4,WFF.P&V3V0);!"(9MUF!>%%@IR99->4 \9MH
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
M][$."K*(4$NXD5,74FI3%6!^AJU@7Q(&:<S#5[38G2KU/$MU@5%$SSP6N S
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
M66&/QFU 38E3N[31S+JEF&!E@F,P=%M68" !CF"%JMTVWAXQ.BRA./B _-
MOY5M)2*+9ML+PI9LI8(#IV'6#LVOD=& O5;,+32,M[S84V:0- #N+Y?$PU>U
M=]""\9C!EO22A%\?%K;E'E1>;EF52 PY!=4'SCM&]Y)Z'=._T5OP+X%H;$S_
M%X4^(MDZ]#O]0Y8S?E#>:&,2T@\8PTO$22_1UMF6M0;;X,]ZM89-Y!H>S"A*
M[D(I8,(7:F]$SJ:E<.42N%XT&M@_8-BMX#!S#%BVE0VO MOCPYBN$\U+9)3F
MP&@:?4'DJR[ ''/K;8,>!-VG.>J [&>D!,FZ;R)H73Q[Y".)YJN4Q,MD56=O
MVG$)N6^XKZQ*=FC.5^#K)RM%I $P[!)D$?L(F>##3@0M8>(P!\P#.@CX, TH
M+Y@B'L %!27"O35E ] FM0D).IX;L&\.1EQPIF5>[FK#&60WU1C8@<$]\.G?
MJ=G$A)#S771Y/AG-@'- Q:%C^EUT#G;0N?F"1G\']N5L=.4& =#H1(+!00K9
M$F!TKU*D*)1QOUG2 ?IJ*X],09_:41AR,L8=$B :0:L2XRDOH[7*,\[E,9G&
MJ(S0 ^6@AE6YN'D,%HVB3^$Z&(!< O)*I,$N.J;LK-7D@*"X]I\$L+Z,[D>P
M((4E0$#"UNL.+W3A$P)'M';]63G5[SOG&<;]1#<SZ]+./$1U%R,2!!$W/)I&
M\?)_:0&_EGJ=>@"VH AC)6:+$R('C6/O=(D9=XHU"=DE*)HX M,8;]%D;P#L
M==G!55^T]-")4Q#%<\B94VRB[0=55#>,^M%E-3TCE6P'%$)@;*&$-U"DUD7W
M$"E!<[1BR'XP>4>V9\E"<KG3[VNS>Q*UE5HE548BBBQ!C[Y8)CC#@G[/%*IK
M"1TXRRS8%>60 _%#BWHDG^MT[[+B)I]3%J P>!RB;@T:Y*QBF>)MEM(+&\V&
M"+B:G.)&.Y=LB6*5J[,6S&HK7A43$B=O%861VL+^M0)[@)4))7M1]/ITYMMK
M0P37D5>ANK>T4Q]@ 9BT7@/)G.'!6W=SSQ1;*:Q7,HJ\DJR>4)YD5KI^J(M,
M/W(BH5UH<XF(TT%08S$78Y)D: KJRB1>@VPY^)6H+W^EF,I'#IC2P/?]0$B8
M*=;$UD,YI- %:FOEDBM>YA39!6A1=6PN,.WR<H_6]AILJ 1X8\][*+9M(V%W
M-$D(5++X'51$F9L$+ 'R4Q"*EJM*/,]-)D*8<6^]H6W1'[PPY,^H2)J!"1=*
M<@)(%E[4ZE-_Z<I^%(C)L*+X%(;3D)!W9.@B2)P=3,TA$,J)?K21A=81EHF
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
MBP!\E8D:7&K@726S:!3(YB,0>CTDD+N.@-*QGPX#M$A>O6A>OWJA:_@GA?_
MUH=_Z8+\FZ1)7K\"!*P4.G,U*^8?3R>GWK>8X_WQ]&;R\F9Z^@*>=,-?O]HF
M*_4QJ5;H+.5J"8]BP=TI]]0P?S3E%J>,%F4#V*:/V'=253@ ?E^6P)CR!RZ
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
M%N#]2D.U_ LQ*/^IX^I_4$L#!!0    ( #B#5ECN"PGQ@Q8  #)C   9
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
MI=1,5)I*_]IL)(]*J9P#FXS-3B3KI-(PM("+VR7Q"BQ.()#/DC_RHT<3KTE
M9PA#XQ2/SAN-*;OGW*J!X95QM49[T&[RNSCF';TDLW@<0E#N$K4O2\#_JJ$,
M(:Y[,?2Q=\Q]H\K8WNQIQ'J]B _=4+M;;1-P; _/R'T"8*3K.F+%QU4>N%95
M:0.:2UA^$GZ5E@H+=6_I^>Z)UB((LI_-@G-%5P_-%^8WQ'C,>_'<-(T[DT%[
M.2T"JSV;Q]EMS 7Q;)/&9WR0!>HPMM*U#[.%MDTUEK(S3PXW4N@ESV,(HZZ'
M&8?TQI>>@G5)N908"A,GU6&V%&"EH[AI;RGL9]YUF'Y[OG-R-#D=M[<KQ!M9
MA#A_]-(%&[!K7SRW,W$3BJ=PW8PM,C>-#^JY[_!LKN)5B*\[HY6<!K9/*Y_(
M71<5GA\,WMQSR6$HZ-ZM356LGQ_$DUW7$T3\44RFIZ/).5U_F$S.1]/39]AX
M0ZXG,;?D<0AG&WPLM)SKD*Y8&UA_,GIV=D8?_C(ZGTT.;K:'?G&.!2-KDY-%
MTQDP!P9;P3P_(+O,%7(B1\"6FN=!:-KH CLRZ[/1["\G81(23N'9G0?[!ZQ.
M\\4P6$['[AD-'+(4GPZ(K+T (7=H;*?EY\D.$0INS0Y W!0ZYWR7^.<#5@JC
MWHT=&L$S"D%#X./-GT%HI4@A[+$[5KCE31=UVKX\7.Q9&I/OF((,MG=\SZ1+
MJ& N9^4![R$G-E7_!TLW#M. D7%3[T2%'T9,U:X(32XE#JHI;G!?*4@_&#$#
M(CN/=HK&;$'V=3ONWR-_-%Y+=AY@FV96J$/P1<A+M5PS-&E/1?:KA,>>P]M/
MY$GL EU6,#S_;B6?*[HUY(8J TA;;"7+@!ZV%$O;!/IJJ-]MED=#F5M'BBZL
MPF$KZWN+\=@RIUA,D+98AVV"LH>DV6U;^PY9AP')0!R%O-2O9&RKL!9-+6=^
MP@]\RPVXCS0:K91LPL5!^@VQ:734 #'^'&^O#1]%5>5\E8,/+;=>&7 * 7.Z
MCQ5N)G5S&)1G&A.981A1[ QOQ&W.;QZ]C3?J>WI*GNMTT8^BH>=U@^1J!RE4
M=FVU7/ADF,$EOJ^YN[<U>*+&=D?&1";2V 6]X$K>JX"&2N6)5Q<"_^,\H!,+
M%%?0W ."IAK;2;0++(76##&"Y,0WK)VW#?>*@],A-&I:W?=NT*%4VR7[8)C\
MI_5Q5&GY MF\&XC"*N06PXM(&P#']4Y[W(KG3]2*0K!PO0O^3DUI.C?9=>RD
M&2=*;A/$[/3D"'^F9T>G0VS4FM)%Y)>%J1*/+4BE=*;)*N7;>FU)I]"M>+<*
M/'-=P-J&[1E3)H $8.J_XU$JU]CD%3&-;=ZJ"P'Z0%.;![[6QD8>GM)U"!$]
M.EJ=!#,#MZ2O/CR@V0)=#$L]1&J\2IJ%\<0,&T0IN,[2_9Y!>002]K'MCY<8
MK%K1%?Q[%>]AQOCGHY)TYH$4DQ=!8SVV@GI"G/0"/.C7[0N=H<%:$!!GQW1R
MX^(V</]%='K?7:!EA@CTRJ^9$.RZK'W<NTU/[2'_GP&^>ECY<+&^_;7];PF7
MX39^]WKX/PT?)'67#J9;8.G)^-G984C<Z8LW-=_-GQL/[?#'%7I]9>D%/%\8
M],+Q"VW0_F>-U_\!4$L#!!0    ( #B#5ECT?XG"K 4  #0-   9    >&PO
M=V]R:W-H965T<R]S:&5E=#$V+GAM;(U7;6_;-A#^GE]Q<(<N 5P[EMTD2Y,
M3=IA!5:@:/>"8=@'6CI91"12)2F[WJ_?<]1+[,)U]R61R+N'S]T]=Z)O-M8]
M^H(YT)>J-/YV5(107T^G/BVX4GYB:S;8R:VK5,"K6TU][5AET:DJI\GY^<6T
M4MJ,[F[BV@=W=V.;4&K#'QSYIJJ4V]YS:3>WH]FH7_BH5T60A>G=3:U6_(G#
M[_4'A[?I@)+IBHW7UI#C_';T>G9]OQ#[:/"'YHW?>2:)9&GMH[R\RVY'YT*(
M2TZ#("C\6_,#EZ4 @<;G#G,T'"F.N\\]^L\Q=L2R5)X?;/FGSD)Q.[H:4<:Y
M:LKPT6Y^X2Z>EX*7VM+'O[1I;9/YB-+&!UMUSF!0:=/^5U^Z/.PX7)U_PR'I
M')+(NSTHLGRC@KJ[<79#3JR!)@\QU.@-<MI(43X%AUT-OW#WX#C3@7ZUWK._
MF09 RL8T[=SO6_?D&^ZSA-Y;$PI/;TW&V3[ %%P&0DE/Z#XYBOB&TPG-9V-*
MSI/Y$;SY$. \XLV_'R#]_7KI@X,0_CD4:8NS.(PCS7'M:Y7R[0CJ]^S6/+I[
M_FQV<?[J",O%P')Q#/W[93CN?C6A/03ZK6!ZL%6MS):T)_Y26\\9!4MI:U>V
M=K73Z$5=;BD4SC:K@KPJL6YS;-FL28,G93*2>'7*?K*+_/S953*[?!7AT63
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
M^1+L]+Z9)MX,\4UQ9SR]4.)P1T]"M$& ]C?&^*=).&!^9%[\!5!+ P04
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
MYA0$]BS$N  #0]2BP+4#DA7X]GQ*]X$]F=']Q/9FXMN+]TI_O%FBK%#YA>F
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
M#6>NQ-;#R8MGHSBR=P_>-.'++S+@317^7&'@)<L+\'MIT(/2 Q_0_Z^ \[\
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
M ;]1\J+;S8IJ(TK6=1F+&!:!/FT P\-H6!5B'D?4)H>L=G=$LQQ0 L_O(+A
M*"6B*!:'8Q:;M"6>;6*U:^];0,O!;:M#0"I##<-'Z(R4Q;WDHON#H\[8.))K
MA$AO+=-WZ.YO_?B7<G5A7P5]><N^:8DC<R'=K>XN)(VV^.\H-5R>Q/#S77^W
MWP*>AY (J\@F%$&=6"\*6D=2M^[VN@V^=1>U=HLN0!:V92D<N$85>TJ= =0
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
MWD!F)^YOHAE@*CR4>,0!3OIMP!'6WF&>&Z,D%#_4&/J[CXX_6/8GT>VY9[^
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
M0LL&]'YMC.\7'&#XFEO\#5!+ P04    "  X@U98XJ;!IO "  !2!@  &0
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
M=QHK/E!5ZE@<4PW^=;_)E@3E/EK 0UL3?2G*^V)"#%<!1XS"J "/&Q;6N\D
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
M'"JY.@QQ'[E]F5VB5.RB_3DI"A">#^OOT'AKB6S!$')8HQYP102,5+2!H>4
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
M4[7!N:I?GI$X/7JS1WQ,S2=%/M<]["8'\B=050F%8)FA6(%J2]U[@A=05*1
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
M'G _(>%X;?\T;YXDRY&L.+'I$/MDTDX")XF2;I+"0D F U2F/97IBZG\:L_
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
M"NV=GI]%H$-+#1.K:M_&ELI24_3#DKY"J!V ]@NE[&[B$K3?M=EO4$L#!!0
M   ( #B#5E@WJ;$:)@4  & -   9    >&PO=V]R:W-H965T<R]S:&5E=#,S
M+GAM;+U7VW+;-A!]YU?LJ)J./8-$!$CPHMJ:D1P[R8-;3^(FTT>8A"0V)*$
MD&7WZ[L )5FQ9"7M3/LBX;*7L\#9Q?)LI?07,Y?2PD-3M^:\-[=V,1P,3#&7
MC3"OU4*VN#-5NA$6IWHV, LM1>F5FGK PC 9-*)J>Z,SOW:C1V=J:>NJE3<:
MS+)IA'Z<R%JMSGNTMUGX4,WFUBT,1F<+,9,?I?U]<:-Q-MA:*:M&MJ92+6@Y
M/>^-Z7#"G;P7^%3)E=D9@XOD3JDO;O*^/.^%#I"L96&=!8%_]_)"UK4SA#"^
MKFWVMBZ=XNYX8_W*QXZQW DC+U3]N2KM_+R7]:"44[&L[0>U>B?7\7B A:J-
M_X55)YOP'A1+8U6S5D8$3=5V_^)A?0X["EGX@@);*S"/NW/D4;X15HS.M%J!
M=M)HS0U\J%X;P56MNY2/5N-NA7IV]%:I<E75-8BVA/>M%>VLNJLEC(V1UL#)
MK<"9.3T;6'3F5 ;%VO"D,\Q>,$P97*O6S@U<MJ4LOS4P0)1;J&P#=<*.6GPC
MB]<040(L9-$1>]$V],C;BU^P=S''8*6!JH4+H?5CU<[@DZB7$M04-N=R*/"C
M9ET6#<U"%/*\AVEBI+Z7O='M7,)4U9@"SHMUAXJ4]OLM'K/%[>()CI]N(-UO
M(,TV5X6IZ$4>I= &I#M>P,.1S9W4VP/R%XH#!B>B44OGQ5M62X,[YG083$0M
MVD*",,[Z<P,4^I E(8D2%EQ+899:8BY:6$A=J1)$^2>2TZ^\@DFEKFKY "<0
MQ0F<?E=^?%_9JI0H3TF:9*AQL6R6M7 )"E:+UKBQR]DGK1-@)(TXRA['S1QN
MS@FG43 NOBXK4WE3*.HP(E3S: A2'<E$8Q(Q^ESL6EK9JGL![U1=NAL83X!2
M3M(T^P&<E/ P^P[&"#'F64HH"^$(D>,MD>.C1/Z(E;I<UIXD>RE\B,!'S1TF
M\(Y=X>T2:/')*!269V.1@.C;?D-R8??C'@9[2\%;K8R!<5%T1XNF?D7#GWTY
ME65P,C[$WN"J:BLK7]5X$R5N/0,W#&YE,6]5K6:/R+=2WN/KLT#)/K X)SR/
M<70"<4QHPN#4+8><Q!$#F@0W",(Y9''H6(>_I_#S3QFC[!=P#' U&0/0LKM\
M,Z\6*)SD)(]S5,@BDB<1ZM",DSQ+@/+@5HL2'U-\:"$C*4\[YF<Y2B4HG0'-
M@]_P^/1.* ;0$(T]\3G^HT$2AR%$P:VR JO T1, 'C$2<Z=.<92X+(,HS]&K
M1_0>J\91"\-=T"GZW1S!SGB-9-]Y']U'A/+NF)\ ] $C(#%"V./3/Z02VZ<2
M^[^I1'.,)8E\C%%(\KRC$N4YB5/Z[ZG$&<DC=W-)0CC//942$J7\&952DF3,
M4RFB'94B1'.02HQDE'HJA;&C4IJD$/\8D9!$A$8./PVIOU,DDH.8)B[$_YI(
MSGV&[OO? .@CA(@D".%(_>3;^LE_N'XB1;2M_NK*^N4#]KY&^@=WO2$/=$F'
M2NQ1CX=+[/CP6T%\,ERH9B':1Y (J7 =@T+6%$J7SU-E%[]<XW^I [@TMFI<
MG@2[80=7Z_[B#]]?7.[W%^MS"1">R_ (GU$:NQD'3/LLS=TX<6/._'KJQC$^
MM3C.P)6#S,ODODMQ;)5B:M$Z0_,YS]=\Z&\KUJ%;'NQTO9A%,]_;NSJ"H78-
M\'9U^_DP[KKF)_'NV^-:Z%G5&JCE%%7#URE>G^[Z^6YBU<+WT'?*8LKZX1P_
M@:1V K@_5<IN)L[!]J-J]#=02P,$%     @ .(-66!9L>1&2!   ;PL  !D
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
MI;TEVXX6"W,SG0@-]US3G',&M80&\'TJA-YT<(#N7Q47_P)02P,$%     @
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
M^&+]_$%4$[?N(0N:^(?20BB-0&D42F-0&D?1=&DJC\ YV_/L#M0K@-)"*(U
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
MK@?SE[JW-_WF#E/\,7"#^8)0@3*8*Z1WVE5G,E[TVL5 LJ7I/J=,JE[67*:
M9\!U@+H_9TQN!_H'JG\\AG\!4$L#!!0    ( #B#5EC*C29'(@,    -   9
M    >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;+U776^;,!3]*Q:KID[J"AA"
M2)<@I<D^*FU3U+3;P[0'A]P$JX"9[23MOY\-E(:4HK9"?0DVW'-\[N$0S'#'
M^(V( "2Z3>)4C(Q(RNS,-$4804+$*<L@55=6C"=$JBE?FR+C0)8Y*(E-;%F>
MF1":&L$P/S?CP9!M9$Q3F'$D-DE"^-TYQ&PW,FSC_L0E74=2GS"#84;6, =Y
MG<VXFID5RY(FD K*4L1A-3+&]MG$QAJ05_RBL!-[8Z1;63!VHR<7RY%A:440
M0R@U!5&'+4P@CC63TO&O)#6J-35P?WS/_B5O7C6S( (F+/Y-ES(:&;Z!EK B
MFUA>LMTW*!OJ:;Z0Q2+_1;NRUC)0N!&2)258*4AH6AS);6G$'L!VGP#@$H"?
M"W!*@),W6BC+VYH228(A9SO$=;5BTX/<FQRMNJ&IOHUSR=55JG RF!>W#[$5
MFM-U2E<T)*E$XS!DFU32=(UF+*8A!8$^HBLF28S&0H 4:'&'O@);<Y)%-$1C
ME2%T/ 5):/Q!E5[/I^CXZ ,Z0C1%5Q';")(NQ="42K->V0Q+?>>%/OR$OBF$
MI\BQ3Q"VL-, GSP?CNMP4SE5V84KNW#.YSQE%ZQ5AB6ZA(QQ;<])88<Z$;(T
MI+%V[$)"@OY\5]!\*/XVM5VLXS:OHQ_>,Y&1$$:&>CH%\"T8P?MWMF=]:C*A
M([*:)4YEB=/&'A1Q:&JQP/5RG/X[V0;8QZYKVT-SNZ^^H:Z'7:_G5W4U86XE
MS&T5]E/=H0B-$^ JTTWZ6N$OO04=D=4Z[56=]MXHE;TN+>F(K&:)5UGBO3*5
M!<[;3YO3M['E'Z2RH0Y; Y7?YE3V*V']5F&?-UR]@YN$M>)>ZGU'9+46_:I%
M_XWBZ'=I24=D-4L&E26#5\9Q\"AF+O8LQSU(X^,R[/=[KM,<1MMZ>/U;[<)F
MXTGC6[D5]E+KNV*K-[FWQ['?*)#E0EW9TA%;W9:'O8S=NB]H"64)K+V2^[8W
M. AE8YG?MP]":>YM3_6WP0_"US05*(:5PEFG?47 B^UV,9$LRW>L"R;5_C<?
M1NH3!;@N4-=7C,G[B=X$5Q\]P7]02P,$%     @ .(-66-;-G6<B P  *0T
M !D   !X;"]W;W)K<VAE971S+W-H965T-#8N>&ULO5==;YLP%/TK%JNF3NK*
M5TA(ER"ER3XJ=5/4K-O#M >'W(!5L)GM).V_GPV40DNB5D5]";:YY_C>XT.X
MC':,WX@80*+;-*%B;,129F>F*<(84BQ.6094W5DSGF*IICPR1<8!KW)0FIB.
M9?7-%!-J!*-\;<Z#$=O(A%"8<R0V:8KYW3DD;#<V;.-^X8I$L=0+9C#*< 0+
MD-?9G*N96;&L2 I4$$81A_78F-AG4]O1@#SB%X&=J(V1+F7)V(V>7*S&AJ4S
M@@1"J2FPNFQA"DFBF50>_TI2H]I3 ^OC>_8O>?&JF"46,&7);[*2\=CP#;2"
M-=XD\HKMOD%9D*?Y0I:(_!?MREC+0.%&2):68)5!2FAQQ;>E$#6 W=L#<$J
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
MXS'RC3C89 ^,F =Q''C9RS5G(KCT /'^,@CBIXVT@_(A);/_ 5!+ P04
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
M@']=S%]L4G>W^<MD\G'9-+=/;:>3^>CK'MH5036%:AK5#*I92O,/+'!=D7S
MK[\YV@I!M1K5%*II5#.H9BG-SZ%KA>3R7H9GK+]YN*&A&G7? ,O31X<,[7.@
MFD8U@VJ6TOR0N3Y'+O<Y]*SY\M-TL?JZ^B'Y>7[ULC=-Z,X%5*M13:&:1C6#
M:I;2_-BU3@7*S[#&HNT.5*M13:&:1C6#:I;2_!RZ=D<NEK'CCN[86UYC=S .
MCJM"VQ>HIE!-HYI!-4MI?JY<^R(_ND_BE#,\\K!548ZZ&YOEJ:(#A38J4$VC
MFD$U2VE^H%RC(I<;%>)9'GFX+:(L@Y?[:&\!U12J:50SJ&8IS8^1ZRWD\K:(
M]\\YTR/O.7*HNS5"GC\Z96CG -4TJAE4LY3FI\QU#G*Y<W#ZR1YYV"A(LT&P
M4U">+SI5:*L U32J&52SE.:GRK4*<KE5\&UG>^3AAHA\F >+(UKX1S6%:AK5
M#*I92O-/K76%_T+>#O';;AU\>OTKPF.(TNZ[/WF*V""AFD(UC6H&U2RE^4%R
ME?OB;)5[68ZM<:%:O=>&WF(=;"U3Z*0:U0RJ64KS8^9J]X5<NY=.B2EZ-B$4
M>7# HSQ#=$#08CRJ:50SJ&8IS<^1*\87\B:$4PZ)*<)3AUZD>=F-$UI31S6%
M:AK5#*I92O/CU#K]7ZZIGWA&3!%6T_.T^\9/GBHZ4&@Q'=4TJAE4LY3F!\H5
MTPNYF!YU1$P1EM2#.P_E^:)3A5;444VCFD$U2VE^JEQ%O?C&@X>.G!!3A,7V
MO!AW3]^3)X^.&%IM1S6-:@;5+*7Y$7/5]D*NMG_3"1Y%6&4OTD%PLK\\=73
MT$([JFE4,ZAF*<T/F"NT%W*AO7OW5M3I';(=76I 2_2HIE!-HYI!-4MI?AY=
MB;X8\[=U%>@M_*A6HYI"-8UJ!M4LI?F/ W.5_*%<R7]& 788%OFS8;#ZRO/'
MI@S5%*II5#.H9BG-3YDK\P_E,G_/ZGOJR1VR''O-0[4:U12J:50SJ&8IS4^C
MZP8,S_"@WR%Z:S^JU:BF4$VCFD$U2VE^#ETW82AW$YZS]H9-AO&H#-9>M,F
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
M(J&KYN8$2(?NQYGF_IP:?S<\Y9'8>.BC"!9^](1FEU6C!#K)3NFS9.7-^<5
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
M,-1_AE&8>HV^#V)A0RSL_BKJ&WUV3!V'#7*P&SGV\!]3X;F5#/6A(1>>><T
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
M'?3W)>?JN9$GJ"_\IO\!4$L#!!0    ( #B#5EB\Z9JW"0,  .@(   9
M>&PO=V]R:W-H965T<R]S:&5E=#8P+GAM;*U6;6^;,!#^*Q:KIE;:"H% :)<@
MY:73*JU:U:[;AVD?'+@D5L%FMO-2:3]^9Y.P-*5HK?8%_'+W^'G.=QS]M9#W
M:@&@R:;(N1HX"ZW+<]=5Z0(*JDY%"1QW9D(65.-4SEU52J"9=2IRU_>\R"TH
MXT[2MVO7,NF+I<X9AVM)U+(HJ'P802[6 Z?C[!9NV'RAS8*;]$LZAUO0=^6U
MQ)E;HV2L *Z8X$3";. ,.^?CV-A;@V\,UFIO3(R2J1#W9G*9#1S/$((<4FT0
M*+Y6,(8\-T!(X]<6TZF/-([[XQWZ1ZL=M4RI@K'(O[-,+P9.[) ,9G29ZQNQ
M_@1;/:'!2T6N[).L*]LH<DBZ5%H46V=D4#!>O>EF&X<]!_\Y!W_KX!\Z^,\X
M!%N'P JMF%E9$ZIITI=B3:2Q1C0SL+&QWJB&<7.+MUKB+D,_G7P&C($B[\DP
MRY@)+,W)):^RPX3Y> *:LOR$'!'&R=>%6"K*,]5W-1YN(-QT>]"H.LA_YJ".
M3ZX$UPM%+G@&V6, %UG7U/T=]9'?BCB!])0$G7?$]_R W-U.R/'1"9GIMV\Z
MO?A# \/QO^/Y.[P6GD$=XL#B!NTA_C&<*BTQ;7\V!:^"Z#9#F%(^5R5-8>!@
MK2J0*W 2U!EYC3K_$]@CM=U:;;<-/?E2@L34X7.2&]U$FCHB8D:6.*%*@6Y,
MG@HTM*#FR[-*.ITP[(1]=[6OK,',#_'Z:[-'G,.:<_@BSCFC4Y9C.4 CUPHL
MVB<1GGE![X!K@UD0!Y[7S#6JN4:OY4I@D^;+S.RE6&H2/R9<:#->P0-DE4.C
MHNAI6 /?]\X.%#69Q4$W:E;4JQ7U6A5=;$I:=07,$M@P9=5A:A;,U,WOMI(>
M]9X$N8N4@@/BK01>61!Q+2]NE7?)4VEO*H/M #^DXN 6;6$TZ8N?A+SK[:50
M):^5P$OEN7O-I  YMSU6818MN:[Z2KU:M_&A[5[N7_/J'^"*RCGC"C7.T-4[
M[:$.6?75:J)%:5O35&AL=':XP%\1D,8 ]V="Z-W$'%#_W"1_ %!+ P04
M"  X@U98*^)^RPL$  !5#@  &0   'AL+W=O<FMS:&5E=',O<VAE970V,2YX
M;6RM5]N.VS80_15"710)D%AWV=K: K)K%"VP01?9I'T(^D#+(YN(1#HD96?_
MOD-**]^T<F#TQ1;).3/GC"C.<+H3\IM: VCRHRJYFCEKK3>WKJOR-514C<0&
M.*X40E94XU"N7+610)<65)5NX'F)6U'&G6QJYQYE-A6U+AF'1TE47554/M]!
M*78SQW=>)CZQU5J;"3>;;N@*GD!_V3Q*'+F=ER6K@"LF.)%0S)P/_NW<CPS
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
M&%"V /=74IK=Q#Z@^V@E_P%02P,$%     @ .(-66!*Y1W-, @  $04  !D
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
MTCJ8^;D0>CNP+ZAZXO%W4$L#!!0    ( #B#5EAJ.<H_-@0  !D=   9
M>&PO=V]R:W-H965T<R]S:&5E=#8X+GAM;+69;8_B-A#'OXJ55M6=="5Q H'=
M M*">^I*70FQNO;%J2^RR0#1)C9U#%RK?O@Z#R1D%WR AC=+'CP_>_[V.#/K
MX4[(UVP%H,BW-.'9R%HIM;ZW[2Q<01ID';$&KM\LA$P#I6_ETL[6$H*H,$H3
MVW4<WTZ#F%OC8?%L)L=#L5%)S&$F2;9)TT#^,X%$[$86M?8/YO%RI?(']GBX
M#I;P#.K+>B;UG5U3HC@%GL6"$PF+D?5 [YGKY@9%BS]BV&4'UR1WY46(U_SF
M,1I93CXB2"!4.2+0/UN80I+D)#V.ORNH5?>9&QY>[^F?"^>U,R]!!E.1_!E'
M:C6R!A:)8!%L$C47N]^@<JB7\T*19,5?LJO:.A8)-YD2:66L1Y#&O/P-OE5"
M'!A0_X2!6QFX;PVZ)PR\RL [UZ!;&70+94I7"AU8H(+Q4(H=D7EK3<LO"C$+
M:^U^S/-Y?U92OXVUG1K/80M\ V0.H5CRN)B+G\E#%!6704(>>;FX\A<?&*@@
M3C[J%E^>&?GPX\>AK?0@<I0=5AU.R@[=$QU2ESP)KE89^95'$+4!MAY][8*[
M=V'B&HD,P@[QZ"?B.JYW9$#3\\W=(^;L?'-J\,:K)\0K>-XI7IP%RZ6$92FY
M6)#]%'W]73<ECPK2[*]CNI?<[G%NOG_<9^L@A)&E-X@,Y!:L\4\_4-_YY9AF
MF#"&!&OIV:WU[)KH^P5^3+#2L%<8YOOC=NQ[@[[?=1QG:&\/U7C?<N#0GN>_
M:\F.,/M.SVLQ6W[T:C]ZY_A!)L##E=ZB7\G7)TA?0!Y="T;6I6L!$\:08"T-
M_5I#_T:QY6/JB0EC2+"6GOU:S_ZUL54:^@=Q\#:FOMN"&3N_TK5![=K@RG C
M_Y%I\5T&2::"A\"5+-?3/,[,46GL\M)5A EC2+"6U'>UU'<WBLH[3#TQ80P)
MUM*3.DU.YUP;EY5ESQ"8WV_"S/U?Z]]!SDJO#\ZGF,?I)L6(5_,P+EU@J#2&
M16M/@=M,@7NCH*W 6*)BTA@6K2UJD_I38R8\?K\\/Y$9R/R9KL&/BED"!X>Q
MVJ%O _J,1LP\M&M=;[)T:D[39XOX7QV@CSSL'/73:'WQHL&D,2Q:6[FF+J"]
M6T4B:I6 2F-8M+:H3:% C7FS\0N*6@N@TEA%:Y6? \]Q3E:?M$GUJ3G7/PA0
M_46]27IL'L'%RF+2&!:MK7Y3C=#!K8(<M>A I3$L6EO4INZ@QC3\FL\M:L6!
M2F,5[=17OOVOU::4<,VEQ 5ACYAXFP=UJ<ZH-(9%:T](4_NX]$8[@8M:S:#2
M&!:M+6I3S;C&Q/Z*G< ,O%A,U"JFHIEW OO@S$A'Z+(X>\M(*#9<E6<O]=/Z
M?.^A.-5Z\WQ"[UEY2M=@RD/#IT N8YZ1!!8:Z73Z.B^1Y3E<>:/$NCB9>A%*
M;Q/%Y0J""&3>0+]?"*'V-WD']6GH^']02P,$%     @ .(-66#M3QU_W @
M*@@  !D   !X;"]W;W)K<VAE971S+W-H965T-CDN>&ULK59=;]HP%/TK5E9-
MK;0U7R2T#"*MH&E[F%1!NSV;Y$*L.C:S'6CWZW?MA A8BOK0%_#'/8=SS[VV
M&>^D>M(E@"'/%1=ZXI7&;$:^K_,2*JJOY08$[JRDJJC!J5K[>J. %@Y4<3\*
M@M2O*!->-G9K]RH;R]IP)N!>$5U7%54O=\#E;N*%WGYASM:EL0M^-M[0-2S
M/&[N%<[\CJ5@%0C-I" *5A/O:SB:IC;>!?QBL-,'8V(S64KY9"<_BHD76$'
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
M&?0N48"J6TD],;)TQ74F#99J-UQB]P5E#7!_+J793.P!;3]/_@)02P,$%
M  @ .(-66""/[L_D @  P D  !D   !X;"]W;W)K<VAE971S+W-H965T-S4N
M>&ULK99=3]LP&(7_BI6A":1!FJ3Y8FTD:,>&Q"8$@UU,NW#;MXV%8W>VV\)^
M_6PGS4H)*:IVT\2QS_%SWCJQ>RLN'F0.H-!C09GL.[E2\U/7E>,<"BQ/^!R8
M[IER46"EFV+FRKD /+&B@KI^IQ.Y!2;,R7KVV;7(>GRA*&%P+9!<% 463^=
M^:KO>,[ZP0V9Y<H\<+/>',_@%M3=_%KHEEN[3$@!3!+.D(!IWSGS3@>I&6\'
MW!-8R8U[9)*,.'\PC<M)W^D8(* P5L8!Z\L2!D"I,=(8ORM/IY[2"#?OU^X7
M-KO.,L(2!IS^(!.5]YW$01.8X@55-WSU!:H\H?$;<RKM+UI58SL.&B^DXD4E
MU@0%8>45/U9UV!!XW5<$?B7PWRH(*D%@@Y9D-M80*YSU!%\A849K-W-C:V/5
M.@UAYE^\54+W$JU3V6?.)RM"*<)L@BZ9PFQ&1A30F92@)#I&9P47BOS!MNB?
M'O7JD8#TZEEW0)/L< @*$WJD]7>W0W1X<(0.$&'H>\X74L\D>Z[2\ ;!'5>@
MYR6H_PKH$,8G*/ ^(+_C!PWRP=OE_G.YJTM6U\VOZ^9;O^ 5OPO"B(+C*[T&
MGQ7@BN 1H401D.CGE1:A2P6%_-44N)RAVSR#>7U/Y1R/H>_H]U."6(*3O7_G
M19V/3?'_D]FS8@1U,8(V]TS7M-L4L%2%5F4^)\LLZ :>'KK<)&_UWI.\6Y-W
M=Y&'3>2E*MHD#Y(XW2)O]=Z3/*S)PUWD41-YV$ >^MLU;_7>DSRJR:-=Y'$3
M>=1 WO6]+?)6[SW)XYH\WD6>-)''+\G]*-E>+:W>>Y(G-7FRBSRUGWB5@][L
MIPI$4Y#D11 _\-)P.TGK7'LF2>LD:6N2;_ID,\!"/!$V0_>8+J I2/KRRY.F
M<1)M!6D8%OII_&]8B>AN[*_F;/,5BQEA$E&8:F'G)-8.HCPOE W%YW;+'7&E
M-W![F^LC%@@S0/=/.5?KAMG%ZT-;]A=02P,$%     @ .(-66/L/EA2F @
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
M#$=WQISTI>PG6C3N<6^$-J7BAI7I?B MP.QOA=#'B3V@[Z?9?U!+ P04
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
MH0%< ]3^G#&YG>@#VD^7]"]02P,$%     @ .(-66 \[?FO%!0  6R   !D
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
M">SUI@$\7PBAGR_, -7_)YC]!U!+ P04    "  X@U98[;/K:%8$   ($
M&0   'AL+W=O<FMS:&5E=',O<VAE970X-2YX;6RMEVUOVS80Q[\*H15# LR1
MJ&=EMH'$1M$ 71LTZ?::EFF;B"2Z)&TG^_0[RH[DB)2: 7UC4]+=Z7='\?[D
M^,#%D]Q0JM!S651RXFR4VEZ[KLPWM"3RBF]I!4]67)1$P:58NW(K*%G63F7A
M^IX7NR5AE3,=U_?NQ73,=ZI@%;T72.[*DHB76UKPP\3!SNN-;VR]4?J&.QUO
MR9H^4/5]>R_@RFVB+%E)*\EXA01=39P;?#W#F7:H+?YF]"#/QDBGLN#\25_<
M+2>.IXEH07.E0Q#XV],9+0H="3A^G((ZS3NUX_GX-?K'.GE(9D$DG?'B'[94
MFXF3.FA)5V17J&_\\(F>$HITO)P7LOY%AY.MYZ!\)Q4O3\Y 4++J^$^>3X4X
M<\!ACX-_<O#?ZQ"<'((ZT2-9G=:<*#(="WY 0EM#-#VH:U-[0S:LTM/XH 0\
M9>"GIG=5SDN*'LDSE6B$9KR2O&!+HN@2S>F*"@$#>(INI*1*HHO/C"Q8P12C
M\A)=S*DBK+@$S^\/<W3QX1)]0*Q"CQN^DZ1:RK&K %*_RLU/0+='(+\':$[S
M*Q3@/Y#O^8'%??9^=_^MNPNE:>KC-_7QZWA!;[Q3#134@-0UN+8E=8P2VJ/H
MM7@MMR2G$P<6FZ1B3YWI[[_AV/O3EN(O"O8FX:!).!B*/GU0/'\:Z96Q1/!I
M0+N0I%YP]%F/J2WY8\2HCJC[QGX:8=\;N_OSI"Q&@9[AO04V;&##0=BO6RJ
MKEJC@@*Q]7,[1HC/WAMXB9]TZ"Q6.(I#.U[4X$6#>#.R98H4[%^HI9XI(O(-
M@F4!?68/#70+[5#9D",#!B=1G':03:L,>[Z=.&Z(XT'BNVH/3%R\V+!B$\O#
M >Y@F591EO;,<])@)8-87T#/>#O77$J4$R%>0,8.1-C;3&)P)%'2K:%IE*5>
M:H=-&]AT$/9V)^$.(.J6D4/O8.KGM*D!$L99]R,UC?PXR.RT64.;#2\AM:'"
M1I29\QC@L$-D&H5AZ-F)L-=JDC?(],AAU6@Q[K9>JYQX!D.*<1!U2"UF<9I&
M/=7#9_J)!UD_PTQ?HSTI=L<V20K8&9$JMS;*4ZQSB)'1*&U&N(^SU3$\J!KU
M$GIO17U;1;%14=,,*MH[^ZT X>#]DENTVPVK[N)!-?N_PONKHKW-O%4S/"QG
M']DSI#TP,:9*C7"2X+@[,S:[-(NCGJEI]0P/"]I-_F/']-2P2I%JS18%'<(U
M%6H4Q5EDX%KLPB *^[[Y5LSPL)IUM@=(Z#T]XBNTDX/<IH2-H-$F09?;9I>&
M:=S#W:H='I:[.5W 8F4RYSO[!@&;N@4M DYN74+3KF]YMNJ&A^7-TIS/%JF5
MUM2M$>P/O:B[=; 9PI[&ZV-N-0X/B]R1N>JVP)]Q9\:6=12D66!4V6+G^] 5
M.MCNV3%-GY'_(F+-*@D?YPH<O:L$(HCCL?-XH?BV/KDMN()S8#W<P%&="FT
MSU><J]<+?1AL#O_3_P!02P,$%     @ .(-66&YMVBQU!P   B8  !D   !X
M;"]W;W)K<VAE971S+W-H965T.#8N>&ULK5IM;]LV$/XKA/>"%%ALD91D.TL,
M-%:#!6BQ(FFV#\,^*!9M:Y4E3Z+C]-^/E&31(D^4TQD%&LM^[GS/\7CW4-;U
M/LN_%FO&.'K=)&EQ,UASOKT:C8K%FFW"8IAM62H^66;Y)N3B,E^-BFW.PJ@T
MVB0CXCC^:!/&Z6!V7;[W.9]=9SN>Q"G[G*-BM]F$^;=;EF3[FP$>'-YXB%=K
M+M\8S:ZWX8H],OZT_9R+JU'C)8HW+"WB+$4Y6]X,WN.KP'6D08GX(V;[XN@U
MDE2>L^RKO+B/;@:.C(@E;,&EBU#\>6%SEB32DXCCW]KIH/E.:7C\^N#]KB0O
MR#R'!9MGR9]QQ-<W@\D 16P9[A+^D.U_8S4A3_I;9$E1_H_V-=89H,6NX-FF
M-A81;.*T^AN^UHDX,L!^AP&I#8ANX'88T-J GFK@U@9NF9F*2IF'(.3A[#K/
M]BB7:.%-OBB365H+^G$JU_V1Y^+36-CQV7VZR#8,?0E?68$NT0-;9.DB3N*P
M7)5LB>Y8Q/(P08\\Y#N>Y=_00\@9XAGZL%RR<M60<E)]>!$P'L;).^'PZ3%
M%S^^0S^B.$5?UMFN"-.HN!YQ$;N,8+2HX[RMXB0=<6*"/F4I7Q?H0QJQJ.U@
M)$@WS,F!^2VQ>@S88H@H_@41AU @H/GIY@0P#TXWQQ8VM%E'6OJCO>M8+8&V
MD']]%'ATS]FF^!M*?N7<A9W+WG-5;,,%NQF(YE*P_(4-9C__@'WG5RAQYW06
MG,E9*ZENDU37YOV0U&<F^BL3!5Q><;E5H!Q6OKS2EVRW+S/?Q534QLMQ<DP4
MP5/L.FU88,*P1SV7-K 6(:\AY%D)?7C=BBW+(DD"A1P5S:;.1=% I"I__G$<
MU/6G&BD3Y?H.T3F9*$J(.X8I^0TEWUKX[Z-_1)<4DX@7*-K)QG0%\?#/6>#G
M=!:<R5DK>>,F>6-K/02QZ.$Y2Q>RR/F>L10]#1^'2/1H)&L^7J6R5*"$CLW"
M<":N5A<0B&B@P 1YU(&+8M+PFEAYR6%UO&$A A.@LB=CC8 )HIZC57\ >')]
M C.8-@RF5@:WNT*\4Q3E3EWD+(HYV'2FQG=?NA[1FPZ \C#5>0 H0HY0+2+8
M40K#Z5F,;/'U4HJS"(D%$8JUJ(82>Y6OP;93NVS'XOI8XP7!/)].-&(0;.JX
M7<R.M!.V,BOWBEB@1BP=]@P+\S1.5[#.P69-'?7UFI@)FE"=%>"H8]]@HB@1
M*Z6[BL&E$'U"V45B#_$P7<7/R6$[@92(F=_)1*<$@#S')3HK $:\KBF!E3["
M5J4@1A];[$JU>ER#(!L*Y-5H;0#*<UVLLP%\T6D7&:5+L%V8S(44%O4EAIY@
M(\Y@4J)WTG'-A IAHK<($.90H^A,&":TH]EAI4NP79A\S$2K*UN"Y+6+B[6<
MZ')+1>R9@[1,-4%\:JR2B=)5B172IJ,T";9.;:'NGSF*XF*1[5(X>M],H^][
MCAZ^"3/"MT':X2M5@.VRX.[0QEX7:['[&4K$\H TS-DM1H:Y]4V80<,&:=-0
M(@#;5<"3T#6Y.(B6&@9M\^PEEK<K8"; $/<]G8<)(GK)!0#HTNT2[ECI 6P7
M!/-J)029ES#951,G3))L'PJ6("-SG!OE!4Q\7U^] $*Y$Y@/4:J V%7! ^.[
M/)7W$9J%0:'2\A C HQQ3#Q]E2"8.]5902BOH^2(4@3$K@A^YVN6@[&;PWIL
MU!< NISJ Q+RU#7WB9K[Q#[WOV0\3,# B7E@%3DW0C=AE.*)/@\A;Y[XUQ&^
MFNZD;[J_]6!;.YP<;X\AT07F2:B@#]4FI:8\<<]QM"56K?#6L^U9O07G\M;.
MH)(5Q"XK_L?YMO8\;:VI@_4#(@QS/+U"8%C'5"!*:!"[T&@==$M6N9@'Z[CH
M//;6#K5(C!,C#,.^SLL'*M_IJGPE0(A=@)QZ^NUQ<S$>8N>G=V"9]UB2(84M
M@SY+//0,RW8:E( A?;<QWGYR[G%Y08>3KI3T6)*AWY62'DMO..U)B9)!Q"Z#
MONO(7?OLV:3S&M8J9KW>;9#VC7NEA*A="7W7D;O'YX736?E]EMV5WV>)AV/[
M,E.EHZA=1YU^6J\=:6OKZD<0&$;T/MT!Z] G5,DK:I=7;SFP][BZP+)V.]:V
MQY1T;?Z@MM2W2(?,IT<_2]F%V=L/]K5#?4%U948!S:4OI@W2YJ,T&;7?>>D]
MV=?VFA;T]>@!E!Z]#=*.7NDA:M=#)Q_L>_R(*=(Q"^:UI969#=)FIH00M0NA
MMYSU*:AM'/T>; =,%_\]@8E.;/;3-DDEBZA=6[SY'D#MS[(8\YZO!,.OB=N<
MMQDJQ4/M4N$[[@KT>!0]K[-;]EB*?=M%?7(R=:5LJ%W9=-XZH*!Z,6[@TG[U
M GLZTD'M7\F5@G'MD_^^^:%-+1OX"[D#?#_UC)_((1CV](T'PWQ78S,Z>CAF
MP_)5^9!1@<H&7CTMTKS;/,CTOGQ\1WO_%E\%U>-(RDWU=-2G,%_%:8$2MA0N
MG>%8-+B\>N"HNN#9MGP$YSGC/-N4+]<L%")  L3GRRSCAPOY!<UC7[/_ %!+
M P04    "  X@U98EDMA]N\"  "_"P  &0   'AL+W=O<FMS:&5E=',O<VAE
M970X-RYX;6RUEFUOVC 0Q[^*E4G3)FW- Q1H!TA]U"JU$BKKIFG:"Y,<Q*MC
M,]L4*NW#[^R$0*7B=FAY0_QT?__N#MO77TIUKW, 0U8%%WH0Y,;,C\-0ISD4
M5!_(.0B<F4I54(-=-0OU7 '-G%'!PR2*.F%!F0B&?3<V4L.^7!C.!(P4T8NB
MH.KQ%+A<#H(X6 _<LEEN[$ X[,_I#,9@[N8CA;VP5LE8 4(S*8B"Z2 XB8]/
MX[8U<"N^,ECJK3:QKDRDO+>=JVP01)8(.*3&2E#\/, 9<&Z5D.-W)1K4>UK#
M[?9:_=(YC\Y,J(8SR;^QS.2#H!>0#*9TP<VM7'Z&RJ%#JY=*KMTO659KHX"D
M"VUD41DC0<%$^:6K*A!;!G%GAT%2&22.N]S(49Y30X=])9=$V=6H9AO.56>-
M<$S8K(R-PEF&=F9X)5)9 /E"5Z#)1S(NDT/DU Z16S +)309@6(RTS@]^87A
M)$:2BQ5%'.I".WDDEY"!HOP#&1MJ@%"1$8P:QD0XH9.%R:5BAN$N[\[!4,;?
M]T.##EB,,*U@3TO89 =LG) ;*4RNR87(('LJ$*+GM?O)VOW3Q*MX#ND!:<4?
M2!(E+8]>JPYGR^FU=^C="68@*X.@R1]R015'GXT+PG>@ZCFGO9+V6![K.4UA
M$."YTZ >(!B^?1-WHD\>X'8-W';JK1?S_R2C/ZYQ';DR4.B?SR&W&T ^K)$/
MO3&^9#JEG#QB-/$RJ?^0L,%_CMBOF43QD0>M4Z-U_BG]U_;K3[Y7<,](=FO<
M;A/)[S: W*N1>PTDWZ_YPMD_JM&.O#+C)=Z!XK6'WJNU9Q#C:'/K1TUDOE+]
MS]1;;U7<0/)?$,6CW_/1)1NZY'7Y?\6I]TOM&\C-*Q6W&DE_$R]5O'FJ8N^S
MLF_Z_:*[#G^X55,5H&:N<M0DE0MARO*J'JVKTY.R)MLL+TO;&ZIF#*LH#E,T
MC0ZZ^!:ILEHL.T;.784VD0;K/=?,L<(&91?@_%1*L^[8#>J:??@74$L#!!0
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
M7/CGB1]J!2/Q%X&].!@C3>66L3L]^9[-'4];! 6D4D-@]=C!)12%1E)V_&I
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
M?=N SXYXZA\]U@@>ZQ>\\\5"PH)K(&]PK%+\W(W))YZ5K0+'?H3 L4;@6+_
M'0S0T1>0%ZU15+V,]M<\#</PT?(Y G-D (P0/FQIA(GU"Q-ZQC5D,UAH1?02
M2%':R/#S=EWE0&PK(%>F\;#PK;+RL659/+(]G.3MSE[;?0>T*ZS'QL^>/M0\
M;568)_^4UF(N)$';-.?;*Z-^I00BL<%V'I*?[5-\PV6BR&+[EH"$A2A.L-['
MI=E&(1FL(2.0KS)Q#VAJYH37:=MI-VP;0F=O=R('N;";-HK$HBQT]5E8M]8;
M0^=V.^11^P4]G=&V=G8Z:WO^G'EXPVN]X^_VGIP&J=JY>LOE M<MAC9'/'<X
MQHDMJ\V@ZD*+E=U/N15:B]R>+H$G(,T#>'\NA-Y=F [J+;GIOU!+ P04
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
M;E%[8+.IMTU_.R%5^D8[5V3;MA_F]IU$[0SL_D(I>IZXWMV\O,DO4$L#!!0
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
MF%?G*M5 LGUYTK!F4K*\O-UAE&*N)ZCW&Z8TJ ?Z\*(YW8K^ U!+ P04
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
M]T5OJ_Y2;N#S/OW]N-OO_P]02P,$%     @ .(-66$MHSP]K @  #P<  !D
M  !X;"]W;W)K<VAE971S+W-H965T.3DN>&ULK95K;],P%(;_BA4FM$DPY]:5
MC332U@A1:8AI8_ !\<%+3AMKO@3;:<>_QW:RT$X9*FA?&E_.\_J\Q]5QMI'J
M7M< !CUP)O0LJ(UISC#690V<Z&/9@+ [2ZDX,7:J5E@W"DCE(<YP'(8GF!,J
M@CSS:U<JSV1K&!5PI9!N.2?JUP4PN9D%4?"X<$U7M7$+.,\:LH(;,+?-E;(S
M/*A4E(/05 JD8#D+SJ.S(G7Q/N KA8W>&B/GY$[*>S=95+,@= D!@](X!6(_
M:Y@#8T[(IO&SUPR&(QVX/7Y4_^"]6R]W1,-<LF^T,O4L>!>@"I:D9>9:;CY"
M[V?B]$K)M/]%FSXV#%#9:B-Y#]L,.!7=ESST==@"HO09(.Z!>%\@Z8%D7R#M
M 5]JW%GQ=2B((7FFY 8I%VW5W, 7T]/6/A7NVF^,LKO4<B8_+\N6MXP8J-!G
M4X-"<\GM'ZAV-[L&M!"EY( .+Z761^@MFM=$K$ C*M"_H8<%&$*9T[B]*=#A
MP1$Z<"I?:MEJ(BJ=86/]N*QPV>=^T>4>/Y-[ >4Q2J(W* [C9 2?[X_'(WBQ
M/Q[MXMA>PG 3\7 3L==+7N0FOE]:'"T,</UCK'+=6>GX6:Z7G.F&E# +[ D:
MU!J"_/6KZ"1\/U;'EQ0K7DALI\;)4./D;^KY!6%$E#!6L Z<>-#URG4>G4;A
M- PSO-ZNQ4C<=&)[['0WKAB)F\2GT>2/WHZ#='"0_J^#=,3!-(K#Y(F#L;@1
MI\5(W!.GG0.\U7W<4_&)J!45&C%86C(\GEH)U;7?;F)DXQO2G32VO?EA;5\L
M4"[ [B^E-(\3U^.&-S#_#5!+ P04    "  X@U986Z)>C(D#  #O#P  &@
M 'AL+W=O<FMS:&5E=',O<VAE970Q,# N>&ULS5?;;MLX$/T50BV*%LA:%SMV
MFMH&8JO%!KL!C 3=?2CZ0%MCFRA%JB1M-\!^_ XI69$,64@*%>B+S<N<PYDS
MO&C&!ZF^Z2V (3]2+O3$VQJ37?N^7FTAI;HG,Q XLY8JI0:[:N/K3 %-'"CE
M?A0$0S^E3'C3L1M;J.E8[@QG A:*Z%V:4O4X RX/$R_TC@/W;+,U=L"?CC.Z
M@0<PG[.%PIY?LB0L!:&9%$3!>N+=A-=QZ #.XA\&!UUI$QO*4LIOMG.;3+S
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
M8+N U0[D]^>!FO)SH@AV%?.&/<$XDB08 K7HK]$X1E8GAH]_?["G)(J2Q(\
MYG<011@"3R..8 [  X9$4?T>W'L?A>OW5+CY+^7X-U!+ P04    "  X@U98
MEXJ[',     3 @  "P   %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S
M9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X
M 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA<UYVE/=LO
M3T%O@*\Z3'%":4A+,P[PS=)_,O?S##5%Y4HCE5L:>-/E_G;@2=&A(E@6FD7)
MTZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0
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
MJK<%Z&U5;PO0VZG>#J"W4[T=0&^G>CN WJYZ6 +0VZG>#J"W4[T=0&^G>CN
MWD[U=@"]G>KM 'H[U=L!]/:JMP?H[55O#]#;J]X>H+=7O3U ;U\][ ;H[55O
M#]#;J]X>H+=7O3U ;Z]Z>X#>7O7V +V#ZAT >@?5.P#T#JIW .@=5.\ T#NH
MW@&@=ZC^K 3H'53O - [J-X!H'=0O0- [Z!Z!X#>4?6. +VCZAT!>D?5.P+T
MCJIW!.@=5>\(T#NJWA&@=ZPVFP#TCJIW!.@=5>\(T#NJWA&@=U*]$T#OI'HG
M@-Y)]4X O9/JG0!Z)]4[ ?1.JG<"Z)U4[P30.U6;!0%Z)]4[ ?1.JG<"Z)U5
M[PS0.ZO>&:!W5KTS0.^L>F> WEGUS@"]L^J= 7IGU3L#],ZJ=P;HG:O-W@"]
ML^J= 7H7U;L ]"ZJ=P'H753O M"[J-X%H'=1O0M [Z)Z%X#>1?4N +V+ZET
M>A?5NP#T+M5A'8#>IJN/ZP#\-EUU8*?[3L''Z7/?C[>BKW45\)U>3Y?/]K?O
MORZ_+M:WX4IT>Y\Q/OT%4$L#!!0    ( #B#5EA_X$/,6P(  $TY   3
M6T-O;G1E;G1?5'EP97-=+GAM;,W;RV[;,!"%X5<QM TLFI1(2D6<3=MMFT5?
M0)7H6+!N$)G4>?O2R@5HD1H-7*#_QH)-<LZ( WP[7W][G)Q?'?MN\-MD'\+T
M00A?[UU?^72<W!!7=N/<5R%^G>_$5-6'ZLX)M=D848]#<$-8AU.-Y.;ZD]M5
M]UU8?3[&GWT[#MMD=IU/5A^?-IZRMDDU35U;5R&NBX>A^2UE_9R0QI/+'K]O
M)W\5-R3BS833RI\#GL]]?7#SW#9N=5O-X4O5QUWBV D?'COGT_,EWNAQW.W:
MVC5C?=_'(ZF?9E<U?N]<Z+OTJ>C5^>00;]@]?<J+\Y<RYP+CSMMYG'R<V.S>
M'_<RDM/I]10+N3FTYU_Q-3&6OOC]W&G:C6O^,CM>[X]Q/BSS\&)Y7'['O\[X
MM?X[^U"0/C)('SFD#PWIPT#ZL) ^"D@?):0/N:$T0A%54DB5%%,E!55)4552
M6)445R4%5DF155%D5119%45619%54615%%D5159%D5519%4463.*K!E%UHPB
M:T:1-:/(FE%DS2BR9A19,XJL&476G")K3I$UI\B:4V3-*;+F%%ESBJPY1=:<
M(FM.D5539-44635%5DV155-DU119-45639%54V35%%D-159#D=509#4460U%
M5D.1U5!D-119#4560Y'54F2U%%DM159+D=529+4462U%5DN1U5)DM119"XJL
M!476@B)K09&UH,A:4&0M*+(6%%D+BJP%1=:2(FM)D;6DR%I29"TILI8464N*
MK"5%UI(B:TF156XHM,K-_[3U^S@>_G'\\DS[JAU>\L7R+\J;GU!+ 0(4 Q0
M   ( #B#5E@'04UB@0   +$    0              "  0    !D;V-0<F]P
M<R]A<' N>&UL4$L! A0#%     @ .(-66$L1&SWN    *P(  !$
M     ( !KP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ .(-66)E<
MG",0!@  G"<  !,              ( !S $  'AL+W1H96UE+W1H96UE,2YX
M;6Q02P$"% ,4    "  X@U98B,G/]6,(  #,-   &               @($-
M"   >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%     @ .(-66 B^
M$#E)!P  9Q\  !@              ("!IA   'AL+W=O<FMS:&5E=',O<VAE
M970R+GAM;%!+ 0(4 Q0    ( #B#5E@16</RX@(  )T)   8
M  " @248  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4    "  X
M@U98&SY[>/@'   !)P  &               @($]&P  >&PO=V]R:W-H965T
M<R]S:&5E=#0N>&UL4$L! A0#%     @ .(-66 <=V7Z:$   .>X  !@
M         ("!:R,  'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0
M   ( #B#5E@_0N&D- L  !$W   8              " @3LT  !X;"]W;W)K
M<VAE971S+W-H965T-BYX;6Q02P$"% ,4    "  X@U98G&.D^V4"  "'!@
M&               @(&E/P  >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL4$L!
M A0#%     @ .(-66,HR*+:!!   9!   !@              ("!0$(  'AL
M+W=O<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    ( #B#5EBOIICD@@4
M .P+   8              " @?=&  !X;"]W;W)K<VAE971S+W-H965T.2YX
M;6Q02P$"% ,4    "  X@U98CA!YP2(J  #>A@  &0              @(&O
M3   >&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( #B#5EA5
M--@2/@L  . A   9              " @0AW  !X;"]W;W)K<VAE971S+W-H
M965T,3$N>&UL4$L! A0#%     @ .(-66.X+"?&#%@  ,F,  !D
M     ("!?8(  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4
M"  X@U98X\.W'1X(  !%%   &0              @($WF0  >&PO=V]R:W-H
M965T<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    ( #B#5EA90)>M(0D  /H6   9
M              " @8RA  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL4$L!
M A0#%     @ .(-66%F+W*7:$   N#$  !D              ("!Y*H  'AL
M+W=O<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4    "  X@U98]'^)PJP%
M   T#0  &0              @('UNP  >&PO=V]R:W-H965T<R]S:&5E=#$V
M+GAM;%!+ 0(4 Q0    ( #B#5EA+)'[-J@@  * 6   9              "
M@=C!  !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @ .(-6
M6-<W*.RA!   < H  !D              ("!N<H  'AL+W=O<FMS:&5E=',O
M<VAE970Q."YX;6Q02P$"% ,4    "  X@U98+-"3G$ ,  #3(   &0
M        @(&1SP  >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0
M   ( #B#5E@LO[5&)@P  /HC   9              " @0C<  !X;"]W;W)K
M<VAE971S+W-H965T,C N>&UL4$L! A0#%     @ .(-66"3K(]7+"0  %A@
M !D              ("!9>@  'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q0
M2P$"% ,4    "  X@U98Z^(.P=(3   Z2P  &0              @(%G\@
M>&PO=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( #B#5EB)T"79
M/P0  -D)   9              " @7 & 0!X;"]W;W)K<VAE971S+W-H965T
M,C,N>&UL4$L! A0#%     @ .(-66.*FP:;P @  4@8  !D
M ("!Y@H! 'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4    "  X
M@U98ZQ)!E;PZ  !KR@  &0              @($-#@$ >&PO=V]R:W-H965T
M<R]S:&5E=#(U+GAM;%!+ 0(4 Q0    ( #B#5EB??<F6[P@   49   9
M          " @0!) 0!X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L! A0#
M%     @ .(-66&/SLP_6!@  YQ0  !D              ("!)E(! 'AL+W=O
M<FMS:&5E=',O<VAE970R-RYX;6Q02P$"% ,4    "  X@U98X62L1FX&  "A
M&@  &0              @($S60$ >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM
M;%!+ 0(4 Q0    ( #B#5EB>.H#E] ,  $T)   9              " @=A?
M 0!X;"]W;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#%     @ .(-66#.+
M[H-9!0  DPX  !D              ("! V0! 'AL+W=O<FMS:&5E=',O<VAE
M970S,"YX;6Q02P$"% ,4    "  X@U98JF,D&(D#  !1"   &0
M    @(&3:0$ >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    (
M #B#5ECR";V7#0,  .,&   9              " @5-M 0!X;"]W;W)K<VAE
M971S+W-H965T,S(N>&UL4$L! A0#%     @ .(-66#>IL1HF!0  8 T  !D
M             ("!EW ! 'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q02P$"
M% ,4    "  X@U98%FQY$9($  !O"P  &0              @('T=0$ >&PO
M=V]R:W-H965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    ( #B#5EAM04,N3@@
M ($6   9              " @;UZ 0!X;"]W;W)K<VAE971S+W-H965T,S4N
M>&UL4$L! A0#%     @ .(-66*_^3HT0!@  MA   !D              ("!
M0H,! 'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6Q02P$"% ,4    "  X@U98
M@\!%O@ #   2!P  &0              @(&)B0$ >&PO=V]R:W-H965T<R]S
M:&5E=#,W+GAM;%!+ 0(4 Q0    ( #B#5E@J7:CM& (  #D$   9
M      " @<", 0!X;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L! A0#%
M  @ .(-66(CD5SV #@  -ZT  !D              ("!#X\! 'AL+W=O<FMS
M:&5E=',O<VAE970S.2YX;6Q02P$"% ,4    "  X@U98. EAZP0$   7%@
M&0              @('&G0$ >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;%!+
M 0(4 Q0    ( #B#5EBKWLGE)P8  &$8   9              " @0&B 0!X
M;"]W;W)K<VAE971S+W-H965T-#$N>&UL4$L! A0#%     @ .(-66"X1F+2]
M @  $@D  !D              ("!7Z@! 'AL+W=O<FMS:&5E=',O<VAE970T
M,BYX;6Q02P$"% ,4    "  X@U989UH2:#$%  # '@  &0
M@(%3JP$ >&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    ( #B#
M5ECM)XW::@,  /T0   9              " @;NP 0!X;"]W;W)K<VAE971S
M+W-H965T-#0N>&UL4$L! A0#%     @ .(-66,J-)D<B P    T  !D
M         ("!7+0! 'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q02P$"% ,4
M    "  X@U98ULV=9R(#   I#0  &0              @(&UMP$ >&PO=V]R
M:W-H965T<R]S:&5E=#0V+GAM;%!+ 0(4 Q0    ( #B#5EBQLKM0UP,  !44
M   9              " @0Z[ 0!X;"]W;W)K<VAE971S+W-H965T-#<N>&UL
M4$L! A0#%     @ .(-66#:L:CYO @  0@4  !D              ("!'+\!
M 'AL+W=O<FMS:&5E=',O<VAE970T."YX;6Q02P$"% ,4    "  X@U98E__L
MFVL#  "0#P  &0              @('"P0$ >&PO=V]R:W-H965T<R]S:&5E
M=#0Y+GAM;%!+ 0(4 Q0    ( #B#5EA8T'BT:PD  ,-Q   9
M  " @63% 0!X;"]W;W)K<VAE971S+W-H965T-3 N>&UL4$L! A0#%     @
M.(-66$?QC?^X P  N \  !D              ("!!L\! 'AL+W=O<FMS:&5E
M=',O<VAE970U,2YX;6Q02P$"% ,4    "  X@U98%IN)!,('  "P1   &0
M            @('UT@$ >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;%!+ 0(4
M Q0    ( #B#5E@J1UL4"1$  -[R   9              " @>[: 0!X;"]W
M;W)K<VAE971S+W-H965T-3,N>&UL4$L! A0#%     @ .(-66*+Z)Y<. P
MZ0D  !D              ("!+NP! 'AL+W=O<FMS:&5E=',O<VAE970U-"YX
M;6Q02P$"% ,4    "  X@U98-096OMD5  "!5 $ &0              @(%S
M[P$ >&PO=V]R:W-H965T<R]S:&5E=#4U+GAM;%!+ 0(4 Q0    ( #B#5EBB
M'TA!FP<  -E!   9              " @8,% @!X;"]W;W)K<VAE971S+W-H
M965T-38N>&UL4$L! A0#%     @ .(-66+BN>'); @  4@4  !D
M     ("!50T" 'AL+W=O<FMS:&5E=',O<VAE970U-RYX;6Q02P$"% ,4
M"  X@U98Q'M>5\,%  "G*@  &0              @('G#P( >&PO=V]R:W-H
M965T<R]S:&5E=#4X+GAM;%!+ 0(4 Q0    ( #B#5EC$>^N[-00  /P3   9
M              " @>$5 @!X;"]W;W)K<VAE971S+W-H965T-3DN>&UL4$L!
M A0#%     @ .(-66+SIFK<) P  Z @  !D              ("!31H" 'AL
M+W=O<FMS:&5E=',O<VAE970V,"YX;6Q02P$"% ,4    "  X@U98*^)^RPL$
M  !5#@  &0              @(&-'0( >&PO=V]R:W-H965T<R]S:&5E=#8Q
M+GAM;%!+ 0(4 Q0    ( #B#5E@-B_,GE0(  #8(   9              "
M@<\A @!X;"]W;W)K<VAE971S+W-H965T-C(N>&UL4$L! A0#%     @ .(-6
M6#35&M6. @  )P<  !D              ("!FR0" 'AL+W=O<FMS:&5E=',O
M<VAE970V,RYX;6Q02P$"% ,4    "  X@U98 (9@S[\"   >"   &0
M        @(%@)P( >&PO=V]R:W-H965T<R]S:&5E=#8T+GAM;%!+ 0(4 Q0
M   ( #B#5EAZNYR3D0(  , &   9              " @58J @!X;"]W;W)K
M<VAE971S+W-H965T-C4N>&UL4$L! A0#%     @ .(-66!*Y1W-, @  $04
M !D              ("!'BT" 'AL+W=O<FMS:&5E=',O<VAE970V-BYX;6Q0
M2P$"% ,4    "  X@U98N:*UW<4#   ?#P  &0              @(&A+P(
M>&PO=V]R:W-H965T<R]S:&5E=#8W+GAM;%!+ 0(4 Q0    ( #B#5EAJ.<H_
M-@0  !D=   9              " @9TS @!X;"]W;W)K<VAE971S+W-H965T
M-C@N>&UL4$L! A0#%     @ .(-66#M3QU_W @  *@@  !D
M ("!"C@" 'AL+W=O<FMS:&5E=',O<VAE970V.2YX;6Q02P$"% ,4    "  X
M@U984S"#Z58"  #+!0  &0              @($X.P( >&PO=V]R:W-H965T
M<R]S:&5E=#<P+GAM;%!+ 0(4 Q0    ( #B#5EB;3]H[W0(  -T'   9
M          " @<4] @!X;"]W;W)K<VAE971S+W-H965T-S$N>&UL4$L! A0#
M%     @ .(-66*E\@YHD!    !4  !D              ("!V4 " 'AL+W=O
M<FMS:&5E=',O<VAE970W,BYX;6Q02P$"% ,4    "  X@U983W#1Q[<%  !Q
M(@  &0              @($T10( >&PO=V]R:W-H965T<R]S:&5E=#<S+GAM
M;%!+ 0(4 Q0    ( #B#5EB8#Y(QN0(  -L'   9              " @2)+
M @!X;"]W;W)K<VAE971S+W-H965T-S0N>&UL4$L! A0#%     @ .(-66""/
M[L_D @  P D  !D              ("!$DX" 'AL+W=O<FMS:&5E=',O<VAE
M970W-2YX;6Q02P$"% ,4    "  X@U98^P^6%*8"  #^!@  &0
M    @($M40( >&PO=V]R:W-H965T<R]S:&5E=#<V+GAM;%!+ 0(4 Q0    (
M #B#5E@SAM%QU0(  .\'   9              " @0I4 @!X;"]W;W)K<VAE
M971S+W-H965T-S<N>&UL4$L! A0#%     @ .(-66/+?;,*> P  Q0L  !D
M             ("!%E<" 'AL+W=O<FMS:&5E=',O<VAE970W."YX;6Q02P$"
M% ,4    "  X@U98E5Z)KSH"  !;!0  &0              @('K6@( >&PO
M=V]R:W-H965T<R]S:&5E=#<Y+GAM;%!+ 0(4 Q0    ( #B#5EC^G1_4S@(
M +L'   9              " @5Q= @!X;"]W;W)K<VAE971S+W-H965T.# N
M>&UL4$L! A0#%     @ .(-66(*E>ZS/ @  - @  !D              ("!
M86 " 'AL+W=O<FMS:&5E=',O<VAE970X,2YX;6Q02P$"% ,4    "  X@U98
M<8EJ1[L"   0"   &0              @(%G8P( >&PO=V]R:W-H965T<R]S
M:&5E=#@R+GAM;%!+ 0(4 Q0    ( #B#5E@O3,KUV0(  ,8(   9
M      " @5EF @!X;"]W;W)K<VAE971S+W-H965T.#,N>&UL4$L! A0#%
M  @ .(-66 \[?FO%!0  6R   !D              ("!:6D" 'AL+W=O<FMS
M:&5E=',O<VAE970X-"YX;6Q02P$"% ,4    "  X@U98[;/K:%8$   ($
M&0              @(%E;P( >&PO=V]R:W-H965T<R]S:&5E=#@U+GAM;%!+
M 0(4 Q0    ( #B#5EAN;=HL=0<   (F   9              " @?)S @!X
M;"]W;W)K<VAE971S+W-H965T.#8N>&UL4$L! A0#%     @ .(-66)9+8?;O
M @  OPL  !D              ("!GGL" 'AL+W=O<FMS:&5E=',O<VAE970X
M-RYX;6Q02P$"% ,4    "  X@U98^(#CFT,#  "3"0  &0
M@('$?@( >&PO=V]R:W-H965T<R]S:&5E=#@X+GAM;%!+ 0(4 Q0    ( #B#
M5EBH;,U^0 X  ."X   9              " @3Z" @!X;"]W;W)K<VAE971S
M+W-H965T.#DN>&UL4$L! A0#%     @ .(-66 IE]RS% P  R1$  !D
M         ("!M9 " 'AL+W=O<FMS:&5E=',O<VAE970Y,"YX;6Q02P$"% ,4
M    "  X@U98+TU.G^$#  #<$0  &0              @(&QE ( >&PO=V]R
M:W-H965T<R]S:&5E=#DQ+GAM;%!+ 0(4 Q0    ( #B#5E@X]4. # 4  )X3
M   9              " @<F8 @!X;"]W;W)K<VAE971S+W-H965T.3(N>&UL
M4$L! A0#%     @ .(-66$2#9T.0 @  60<  !D              ("!#)X"
M 'AL+W=O<FMS:&5E=',O<VAE970Y,RYX;6Q02P$"% ,4    "  X@U98P8VM
M!%X$   C#P  &0              @('3H ( >&PO=V]R:W-H965T<R]S:&5E
M=#DT+GAM;%!+ 0(4 Q0    ( #B#5ECG]>(?H0(  (4'   9
M  " @6BE @!X;"]W;W)K<VAE971S+W-H965T.34N>&UL4$L! A0#%     @
M.(-66'9QP83\ @  B@H  !D              ("!0*@" 'AL+W=O<FMS:&5E
M=',O<VAE970Y-BYX;6Q02P$"% ,4    "  X@U98H[H,8,D#  #I$@  &0
M            @(%SJP( >&PO=V]R:W-H965T<R]S:&5E=#DW+GAM;%!+ 0(4
M Q0    ( #B#5E@*V?:]C!D  "5G 0 9              " @7.O @!X;"]W
M;W)K<VAE971S+W-H965T.3@N>&UL4$L! A0#%     @ .(-66$MHSP]K @
M#P<  !D              ("!-LD" 'AL+W=O<FMS:&5E=',O<VAE970Y.2YX
M;6Q02P$"% ,4    "  X@U986Z)>C(D#  #O#P  &@              @('8
MRP( >&PO=V]R:W-H965T<R]S:&5E=#$P,"YX;6Q02P$"% ,4    "  X@U98
M5<.%K@0#  ";"@  &@              @(&9SP( >&PO=V]R:W-H965T<R]S
M:&5E=#$P,2YX;6Q02P$"% ,4    "  X@U98=TSM348#  "R%   #0
M        @ '5T@( >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0    ( #B#5EB7BKL<
MP    !,"   +              "  4;6 @!?<F5L<R\N<F5L<U!+ 0(4 Q0
M   ( #B#5ECL,F&T,@<  (-"   /              "  2_7 @!X;"]W;W)K
M8F]O:RYX;6Q02P$"% ,4    "  X@U988\012MT"  !<.P  &@
M    @ &.W@( >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4
M"  X@U98?^!#S%L"  !-.0  $P              @ &CX0( 6T-O;G1E;G1?
@5'EP97-=+GAM;%!+!08     ;0!M /0=   OY (    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>115
<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>116
<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>118
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>336</ContextCount>
  <ElementCount>561</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>115</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>9</UnitCount>
  <MyReports>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>100000 - Document - Cover Page</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/CoverPage</Role>
      <ShortName>Cover Page</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>100010 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>100060 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>100070 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>100080 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>100100 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995455 - Disclosure - Organization and Nature of Business</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness</Role>
      <ShortName>Organization and Nature of Business</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>995465 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>995475 - Disclosure - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurements</Role>
      <ShortName>Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>995485 - Disclosure - Acquisitions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/Acquisitions</Role>
      <ShortName>Acquisitions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>995495 - Disclosure - Restructuring Plan</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlan</Role>
      <ShortName>Restructuring Plan</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>995505 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>995515 - Disclosure - Revenue Recognition</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognition</Role>
      <ShortName>Revenue Recognition</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>995525 - Disclosure - Credit Losses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/CreditLosses</Role>
      <ShortName>Credit Losses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>995535 - Disclosure - Goodwill and Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssets</Role>
      <ShortName>Goodwill and Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>995545 - Disclosure - Consolidated Balance Sheet Detail</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>995555 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>995565 - Disclosure - Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquity</Role>
      <ShortName>Stockholders' Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995575 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995585 - Disclosure - Convertible Senior Notes</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotes</Role>
      <ShortName>Convertible Senior Notes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995605 - Disclosure - Employee Benefit Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans</Role>
      <ShortName>Employee Benefit Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995615 - Disclosure - Related Party Transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions</Role>
      <ShortName>Related Party Transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>995635 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>995645 - Disclosure - Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>995655 - Disclosure - Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables</Role>
      <ShortName>Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurements</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>995665 - Disclosure - Acquisitions (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables</Role>
      <ShortName>Acquisitions (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/Acquisitions</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>995675 - Disclosure - Restructuring Plan (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanTables</Role>
      <ShortName>Restructuring Plan (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlan</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>995685 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/Leases</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>995695 - Disclosure - Revenue Recognition (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognitionTables</Role>
      <ShortName>Revenue Recognition (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognition</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>995705 - Disclosure - Credit Losses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/CreditLossesTables</Role>
      <ShortName>Credit Losses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/CreditLosses</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>995715 - Disclosure - Goodwill and Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables</Role>
      <ShortName>Goodwill and Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssets</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>995725 - Disclosure - Consolidated Balance Sheet Detail (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables</Role>
      <ShortName>Consolidated Balance Sheet Detail (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>995735 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>995745 - Disclosure - Stockholders' Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables</Role>
      <ShortName>Stockholders' Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquity</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>995755 - Disclosure - Convertible Senior Notes (Tables)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesTables</Role>
      <ShortName>Convertible Senior Notes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotes</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>995785 - Disclosure - Organization and Nature of Business - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureOrganizationAndNatureOfBusinessAdditionalInformationDetail</Role>
      <ShortName>Organization and Nature of Business - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>995795 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>995805 - Disclosure - Summary of Significant Accounting Policies - Estimated Useful Life of Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Estimated Useful Life of Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>995815 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>995825 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (parenthetical) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (parenthetical) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>995835 - Disclosure - Summary of Significant Accounting Policies - Summary of Product Revenues by Product Line (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Summary of Product Revenues by Product Line (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>995845 - Disclosure - Summary of Significant Accounting Policies - Percentage of Revenue by Geographic Area (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Percentage of Revenue by Geographic Area (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>995855 - Disclosure - Summary of Significant Accounting Policies - Total Assets by Geographic Area (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Total Assets by Geographic Area (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>995865 - Disclosure - Summary of Significant Accounting Policies - Long Lived Assets by Geographic Area (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Long Lived Assets by Geographic Area (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>995875 - Disclosure - Fair Value Measurements - Summary of Company's Cash, Cash Equivalents and Marketable Securities Held to Maturity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail</Role>
      <ShortName>Fair Value Measurements - Summary of Company's Cash, Cash Equivalents and Marketable Securities Held to Maturity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>995885 - Disclosure - Fair Value Measurements - Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail</Role>
      <ShortName>Fair Value Measurements - Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>995895 - Disclosure - Fair Value Measurements - Schedule of Financial Assets and Financial Liabilities Measured at Fair Value on a Recurring Basis (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail</Role>
      <ShortName>Fair Value Measurements - Schedule of Financial Assets and Financial Liabilities Measured at Fair Value on a Recurring Basis (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>995905 - Disclosure - Fair Value Measurements - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail</Role>
      <ShortName>Fair Value Measurements - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>995915 - Disclosure - Fair Value Measurements - Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail</Role>
      <ShortName>Fair Value Measurements - Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>995925 - Disclosure - Fair Value Measurements - Schedule of Contingent Consideration Earnout Expect to be Required to Settle include Significant unobservable Inputs (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail</Role>
      <ShortName>Fair Value Measurements - Schedule of Contingent Consideration Earnout Expect to be Required to Settle include Significant unobservable Inputs (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>995935 - Disclosure - Acquisitions - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail</Role>
      <ShortName>Acquisitions - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>995945 - Disclosure - Acquisitions - Consideration Transferred (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail</Role>
      <ShortName>Acquisitions - Consideration Transferred (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>995955 - Disclosure - Acquisitions - Fair Value of Net Assets Acquired (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail</Role>
      <ShortName>Acquisitions - Fair Value of Net Assets Acquired (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>995965 - Disclosure - Acquisitions - Estimated Useful Life and Fair Value (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail</Role>
      <ShortName>Acquisitions - Estimated Useful Life and Fair Value (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>995985 - Disclosure - Restructuring Plan - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail</Role>
      <ShortName>Restructuring Plan - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>995995 - Disclosure - Restructuring Plan - Summary of Restructuring Activities by Type of Cost (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail</Role>
      <ShortName>Restructuring Plan - Summary of Restructuring Activities by Type of Cost (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>996005 - Disclosure - Restructuring Plan - Summary of Activity Related to Restructuring Plan (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail</Role>
      <ShortName>Restructuring Plan - Summary of Activity Related to Restructuring Plan (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>996015 - Disclosure - Leases - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail</Role>
      <ShortName>Leases - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>996025 - Disclosure - Leases - Summary of Maturities of Operating Lease Liabilities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail</Role>
      <ShortName>Leases - Summary of Maturities of Operating Lease Liabilities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>996035 - Disclosure - Leases - Summary of Maturities of Operating Lease Liabilities (parenthetical) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail</Role>
      <ShortName>Leases - Summary of Maturities of Operating Lease Liabilities (parenthetical) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>996045 - Disclosure - Leases - Summary of Operating Lease Liability (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail</Role>
      <ShortName>Leases - Summary of Operating Lease Liability (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>996055 - Disclosure - Leases - Summary of Operating Lease Cost (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail</Role>
      <ShortName>Leases - Summary of Operating Lease Cost (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>996065 - Disclosure - Leases - Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesDetail</Role>
      <ShortName>Leases - Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>996075 - Disclosure - Leases - Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail</Role>
      <ShortName>Leases - Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>996085 - Disclosure - Revenue Recognition - Summary of Disaggregation of Revenue (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail</Role>
      <ShortName>Revenue Recognition - Summary of Disaggregation of Revenue (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>996095 - Disclosure - Revenue Recognition - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail</Role>
      <ShortName>Revenue Recognition - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>996105 - Disclosure - Revenue Recognition - Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail</Role>
      <ShortName>Revenue Recognition - Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>996115 - Disclosure - Credit Losses - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesAdditionalInformationDetail</Role>
      <ShortName>Credit Losses - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>996125 - Disclosure - Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail</Role>
      <ShortName>Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>996135 - Disclosure - Goodwill and Intangible Assets - Changes in Carrying Value of Goodwill (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail</Role>
      <ShortName>Goodwill and Intangible Assets - Changes in Carrying Value of Goodwill (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>996145 - Disclosure - Goodwill and Intangible Assets - Schedule of Intangible Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail</Role>
      <ShortName>Goodwill and Intangible Assets - Schedule of Intangible Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>996165 - Disclosure - Goodwill and Intangible Assets - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail</Role>
      <ShortName>Goodwill and Intangible Assets - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>996175 - Disclosure - Goodwill and Intangible Assets - Amortization Expense for Amortized Intangible Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail</Role>
      <ShortName>Goodwill and Intangible Assets - Amortization Expense for Amortized Intangible Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>996185 - Disclosure - Consolidated Balance Sheet Detail - Schedule of Inventories (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail - Schedule of Inventories (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>996195 - Disclosure - Consolidated Balance Sheet Detail - Prepaid Expenses and Other Current Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail - Prepaid Expenses and Other Current Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>996205 - Disclosure - Consolidated Balance Sheet Detail - Property, Plant and Equipment (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail - Property, Plant and Equipment (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>996215 - Disclosure - Consolidated Balance Sheet Detail - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>996225 - Disclosure - Consolidated Balance Sheet Detail - Schedule of Accrued Liabilities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail - Schedule of Accrued Liabilities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>996235 - Disclosure - Income Taxes - Income Before Income Taxes (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail</Role>
      <ShortName>Income Taxes - Income Before Income Taxes (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>996245 - Disclosure - Income Taxes - Current, Deferred and Equity Income Taxes (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail</Role>
      <ShortName>Income Taxes - Current, Deferred and Equity Income Taxes (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>82</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>996255 - Disclosure - Income Taxes - Provision for Income Taxes by Jurisdiction (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail</Role>
      <ShortName>Income Taxes - Provision for Income Taxes by Jurisdiction (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>996265 - Disclosure - Income Taxes - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail</Role>
      <ShortName>Income Taxes - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>996275 - Disclosure - Income Taxes - Consolidated Deferred Tax Assets (Liabilities) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail</Role>
      <ShortName>Income Taxes - Consolidated Deferred Tax Assets (Liabilities) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>996285 - Disclosure - Income Taxes - Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail</Role>
      <ShortName>Income Taxes - Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>86</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>996295 - Disclosure - Income Taxes - 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/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail</Role>
      <ShortName>Income Taxes - Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>87</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>996305 - Disclosure - Income Taxes - Reconciliation of Unrecognized Tax Benefits (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail</Role>
      <ShortName>Income Taxes - Reconciliation of Unrecognized Tax Benefits (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>88</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>996315 - Disclosure - Stockholders' Equity - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail</Role>
      <ShortName>Stockholders' Equity - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>89</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>996325 - Disclosure - Stockholders' Equity -Stock-Based Compensation Expense (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail</Role>
      <ShortName>Stockholders' Equity -Stock-Based Compensation Expense (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>90</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>996335 - Disclosure - Stockholders' Equity - Estimated Weighted Average Assumptions (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail</Role>
      <ShortName>Stockholders' Equity - Estimated Weighted Average Assumptions (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>91</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>996345 - Disclosure - Stockholders' Equity -Summary of Option Activity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail</Role>
      <ShortName>Stockholders' Equity -Summary of Option Activity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>92</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>996355 - Disclosure - Stockholders' Equity - Summary of Option Activity (Parenthetical) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail</Role>
      <ShortName>Stockholders' Equity - Summary of Option Activity (Parenthetical) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>93</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>996365 - Disclosure - Stockholders' Equity - Summary of Restricted Stock Unit Activity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail</Role>
      <ShortName>Stockholders' Equity - Summary of Restricted Stock Unit Activity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>94</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>996375 - Disclosure - Stockholders' Equity - Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail</Role>
      <ShortName>Stockholders' Equity - Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>95</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>996385 - Disclosure - Commitments and Contingencies - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail</Role>
      <ShortName>Commitments and Contingencies - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>96</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>996395 - Disclosure - Convertible Senior Notes - Carrying Value of Convertible Senior Notes (Detail)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail</Role>
      <ShortName>Convertible Senior Notes - Carrying Value of Convertible Senior Notes (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>97</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>996405 - Disclosure - Convertible Senior Notes - Additional Information (Detail)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail</Role>
      <ShortName>Convertible Senior Notes - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>98</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>996415 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Changes in Accumulated Other Comprehensive Income (Loss) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail</Role>
      <ShortName>Accumulated Other Comprehensive Income (Loss) - Changes in Accumulated Other Comprehensive Income (Loss) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>99</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R100.htm</HtmlFileName>
      <LongName>996425 - Disclosure - Employee Benefit Plans - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail</Role>
      <ShortName>Employee Benefit Plans - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>100</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R101.htm</HtmlFileName>
      <LongName>996435 - Disclosure - Related Party Transactions - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail</Role>
      <ShortName>Related Party Transactions - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>101</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" isDefinitelyFs="true" isUsgaap="true" original="rgen-20231231.htm">rgen-20231231.htm</File>
    <File>rgen-20231231.xsd</File>
  </InputFiles>
  <SupplementalFiles>
    <File>img33618189_0.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="1309">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="38">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
    <BaseTaxonomy items="10">http://xbrl.sec.gov/ecd/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>false</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>121
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "rgen-20231231.htm": {
   "nsprefix": "rgen",
   "nsuri": "http://www.repligencorp.com/20231231",
   "dts": {
    "inline": {
     "local": [
      "rgen-20231231.htm"
     ]
    },
    "schema": {
     "local": [
      "rgen-20231231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd"
     ]
    }
   },
   "keyStandard": 464,
   "keyCustom": 97,
   "axisStandard": 36,
   "axisCustom": 0,
   "memberStandard": 52,
   "memberCustom": 62,
   "hidden": {
    "total": 12,
    "http://xbrl.sec.gov/dei/2023": 4,
    "http://fasb.org/us-gaap/2023": 6,
    "http://xbrl.sec.gov/ecd/2023": 2
   },
   "contextCount": 336,
   "entityCount": 1,
   "segmentCount": 115,
   "elementCount": 1067,
   "unitCount": 9,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 1309,
    "http://xbrl.sec.gov/dei/2023": 38,
    "http://xbrl.sec.gov/ecd/2023": 10
   },
   "report": {
    "R1": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage",
     "longName": "100000 - Document - Cover Page",
     "shortName": "Cover Page",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
     "longName": "100010 - Statement - CONSOLIDATED BALANCE SHEETS",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
     "longName": "100060 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "unitRef": "U_UnitedStatesOfAmericaDollarsShare",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
     "longName": "100070 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
     "longName": "100080 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "C_f59feb09-1594-4f9b-b24f-dce4020f6e60",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_051050a2-02f3-4c31-b83a-ad7771e5b2b5",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
     "longName": "100100 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "rgen:AmortizationOfInventoryStepUp",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "7",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R8": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "C_e2c655d5-4410-4248-981e-81f625c5018a",
      "name": "ecd:MtrlTermsOfTrdArrTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_e2c655d5-4410-4248-981e-81f625c5018a",
      "name": "ecd:MtrlTermsOfTrdArrTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness",
     "longName": "995455 - Disclosure - Organization and Nature of Business",
     "shortName": "Organization and Nature of Business",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:NatureOfOperations",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:NatureOfOperations",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies",
     "longName": "995465 - Disclosure - Summary of Significant Accounting Policies",
     "shortName": "Summary of Significant Accounting Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurements",
     "longName": "995475 - Disclosure - Fair Value Measurements",
     "shortName": "Fair Value Measurements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/Acquisitions",
     "longName": "995485 - Disclosure - Acquisitions",
     "shortName": "Acquisitions",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlan",
     "longName": "995495 - Disclosure - Restructuring Plan",
     "shortName": "Restructuring Plan",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/Leases",
     "longName": "995505 - Disclosure - Leases",
     "shortName": "Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognition",
     "longName": "995515 - Disclosure - Revenue Recognition",
     "shortName": "Revenue Recognition",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/CreditLosses",
     "longName": "995525 - Disclosure - Credit Losses",
     "shortName": "Credit Losses",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:CreditLossFinancialInstrumentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:CreditLossFinancialInstrumentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssets",
     "longName": "995535 - Disclosure - Goodwill and Intangible Assets",
     "shortName": "Goodwill and Intangible Assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail",
     "longName": "995545 - Disclosure - Consolidated Balance Sheet Detail",
     "shortName": "Consolidated Balance Sheet Detail",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes",
     "longName": "995555 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquity",
     "longName": "995565 - Disclosure - Stockholders' Equity",
     "shortName": "Stockholders' Equity",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingencies",
     "longName": "995575 - Disclosure - Commitments and Contingencies",
     "shortName": "Commitments and Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotes",
     "longName": "995585 - Disclosure - Convertible Senior Notes",
     "shortName": "Convertible Senior Notes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans",
     "longName": "995605 - Disclosure - Employee Benefit Plans",
     "shortName": "Employee Benefit Plans",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions",
     "longName": "995615 - Disclosure - Related Party Transactions",
     "shortName": "Related Party Transactions",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies",
     "longName": "995635 - Disclosure - Summary of Significant Accounting Policies (Policies)",
     "shortName": "Summary of Significant Accounting Policies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "25",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:UseOfEstimates",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:UseOfEstimates",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables",
     "longName": "995645 - Disclosure - Summary of Significant Accounting Policies (Tables)",
     "shortName": "Summary of Significant Accounting Policies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables",
     "longName": "995655 - Disclosure - Fair Value Measurements (Tables)",
     "shortName": "Fair Value Measurements (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "rgen:CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "rgen:CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
     "longName": "995665 - Disclosure - Acquisitions (Tables)",
     "shortName": "Acquisitions (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "C_823e817c-1120-41c0-8f87-43cc3bca6990",
      "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_823e817c-1120-41c0-8f87-43cc3bca6990",
      "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanTables",
     "longName": "995675 - Disclosure - Restructuring Plan (Tables)",
     "shortName": "Restructuring Plan (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables",
     "longName": "995685 - Disclosure - Leases (Tables)",
     "shortName": "Leases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognitionTables",
     "longName": "995695 - Disclosure - Revenue Recognition (Tables)",
     "shortName": "Revenue Recognition (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/CreditLossesTables",
     "longName": "995705 - Disclosure - Credit Losses (Tables)",
     "shortName": "Credit Losses (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:CreditLossFinancialInstrumentTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:CreditLossFinancialInstrumentTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables",
     "longName": "995715 - Disclosure - Goodwill and Intangible Assets (Tables)",
     "shortName": "Goodwill and Intangible Assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables",
     "longName": "995725 - Disclosure - Consolidated Balance Sheet Detail (Tables)",
     "shortName": "Consolidated Balance Sheet Detail (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables",
     "longName": "995735 - Disclosure - Income Taxes (Tables)",
     "shortName": "Income Taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables",
     "longName": "995745 - Disclosure - Stockholders' Equity (Tables)",
     "shortName": "Stockholders' Equity (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesTables",
     "longName": "995755 - Disclosure - Convertible Senior Notes (Tables)",
     "shortName": "Convertible Senior Notes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "37",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ConvertibleDebtTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ConvertibleDebtTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureOrganizationAndNatureOfBusinessAdditionalInformationDetail",
     "longName": "995785 - Disclosure - Organization and Nature of Business - Additional Information (Detail)",
     "shortName": "Organization and Nature of Business - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "rgen:NumberOfManufacturingSites",
      "unitRef": "U_Sites",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:NatureOfOperations",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "rgen:NumberOfManufacturingSites",
      "unitRef": "U_Sites",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:NatureOfOperations",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
     "longName": "995795 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Detail)",
     "shortName": "Summary of Significant Accounting Policies - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "div",
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail",
     "longName": "995805 - Disclosure - Summary of Significant Accounting Policies - Estimated Useful Life of Assets (Detail)",
     "shortName": "Summary of Significant Accounting Policies - Estimated Useful Life of Assets (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "C_9f6daf9a-a720-4fa8-ba48-9c6855cb2aff",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock",
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_9f6daf9a-a720-4fa8-ba48-9c6855cb2aff",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock",
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail",
     "longName": "995815 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (Detail)",
     "shortName": "Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:NetIncomeLossAttributableToParentDiluted",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "div",
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail",
     "longName": "995825 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (parenthetical) (Detail)",
     "shortName": "Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (parenthetical) (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "C_bd13d202-f611-4de3-bb60-de3263a4d425",
      "name": "us-gaap:DebtInstrumentInterestRateStatedPercentage",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "5",
      "ancestors": [
       "span",
       "link:footnote",
       "div",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "div",
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R43": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail",
     "longName": "995835 - Disclosure - Summary of Significant Accounting Policies - Summary of Product Revenues by Product Line (Detail)",
     "shortName": "Summary of Significant Accounting Policies - Summary of Product Revenues by Product Line (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_79913b54-4d18-4861-8db0-f6441ae54ca2",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
       "div",
       "us-gaap:SegmentReportingPolicyPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail",
     "longName": "995845 - Disclosure - Summary of Significant Accounting Policies - Percentage of Revenue by Geographic Area (Detail)",
     "shortName": "Summary of Significant Accounting Policies - Percentage of Revenue by Geographic Area (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "C_150e519b-39a6-4239-bf63-7e5d43c982be",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "div",
       "us-gaap:SegmentReportingPolicyPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_150e519b-39a6-4239-bf63-7e5d43c982be",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "div",
       "us-gaap:SegmentReportingPolicyPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail",
     "longName": "995855 - Disclosure - Summary of Significant Accounting Policies - Total Assets by Geographic Area (Detail)",
     "shortName": "Summary of Significant Accounting Policies - Total Assets by Geographic Area (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:Assets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_9b470293-9e77-40c8-bf3d-3b9ff9fbabc6",
      "name": "us-gaap:Assets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock",
       "div",
       "us-gaap:SegmentReportingPolicyPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
     "longName": "995865 - Disclosure - Summary of Significant Accounting Policies - Long Lived Assets by Geographic Area (Detail)",
     "shortName": "Summary of Significant Accounting Policies - Long Lived Assets by Geographic Area (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "rgen:AssetsNonCurrentExcludingDifferedTaxAssets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
       "div",
       "us-gaap:SegmentReportingPolicyPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "rgen:AssetsNonCurrentExcludingDifferedTaxAssets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
       "div",
       "us-gaap:SegmentReportingPolicyPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail",
     "longName": "995875 - Disclosure - Fair Value Measurements - Summary of Company's Cash, Cash Equivalents and Marketable Securities Held to Maturity (Detail)",
     "shortName": "Fair Value Measurements - Summary of Company's Cash, Cash Equivalents and Marketable Securities Held to Maturity (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "C_96669801-ebb6-4ad9-a641-e8ae7e52f6d2",
      "name": "rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock",
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_96669801-ebb6-4ad9-a641-e8ae7e52f6d2",
      "name": "rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock",
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail",
     "longName": "995885 - Disclosure - Fair Value Measurements - Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity (Detail)",
     "shortName": "Fair Value Measurements - Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "C_0c598f64-3ce3-4c44-bbc0-2731dec06b26",
      "name": "rgen:DebtSecuritiesMaturityWithinOneYearAmortizedCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock",
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_0c598f64-3ce3-4c44-bbc0-2731dec06b26",
      "name": "rgen:DebtSecuritiesMaturityWithinOneYearAmortizedCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock",
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail",
     "longName": "995895 - Disclosure - Fair Value Measurements - Schedule of Financial Assets and Financial Liabilities Measured at Fair Value on a Recurring Basis (Detail)",
     "shortName": "Fair Value Measurements - Schedule of Financial Assets and Financial Liabilities Measured at Fair Value on a Recurring Basis (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "rgen:ShortTermContingentConsideration",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "rgen:ShortTermContingentConsideration",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
     "longName": "995905 - Disclosure - Fair Value Measurements - Additional Information (Detail)",
     "shortName": "Fair Value Measurements - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "C_26b1e372-ec7e-489c-8354-3fe6947aa5ce",
      "name": "us-gaap:TreasuryStockValueAcquiredCostMethod",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_26b1e372-ec7e-489c-8354-3fe6947aa5ce",
      "name": "us-gaap:TreasuryStockValueAcquiredCostMethod",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail",
     "longName": "995915 - Disclosure - Fair Value Measurements - Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout (Detail)",
     "shortName": "Fair Value Measurements - Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_a79fa7ee-93f3-42d7-bd7e-a948de915877",
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
     "longName": "995925 - Disclosure - Fair Value Measurements - Schedule of Contingent Consideration Earnout Expect to be Required to Settle include Significant unobservable Inputs (Detail)",
     "shortName": "Fair Value Measurements - Schedule of Contingent Consideration Earnout Expect to be Required to Settle include Significant unobservable Inputs (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "C_d406539c-409d-4fb8-8a6c-ef865014fb4e",
      "name": "us-gaap:LiabilitiesFairValueDisclosure",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_23e1f1ef-1bb7-4045-8d2b-8d2285005e29",
      "name": "us-gaap:LiabilitiesFairValueDisclosure",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
     "longName": "995935 - Disclosure - Acquisitions - Additional Information (Detail)",
     "shortName": "Acquisitions - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_0c598f64-3ce3-4c44-bbc0-2731dec06b26",
      "name": "us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
     "longName": "995945 - Disclosure - Acquisitions - Consideration Transferred (Detail)",
     "shortName": "Acquisitions - Consideration Transferred (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "C_8d429b7c-b04a-429e-8930-499fef59f053",
      "name": "rgen:CashConsiderationExcludingRestrictedCash",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock",
       "div",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_8d429b7c-b04a-429e-8930-499fef59f053",
      "name": "rgen:CashConsiderationExcludingRestrictedCash",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock",
       "div",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
     "longName": "995955 - Disclosure - Acquisitions - Fair Value of Net Assets Acquired (Detail)",
     "shortName": "Acquisitions - Fair Value of Net Assets Acquired (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:Goodwill",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_44b46ac1-294b-4ad5-ac75-62384577540b",
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
     "longName": "995965 - Disclosure - Acquisitions - Estimated Useful Life and Fair Value (Detail)",
     "shortName": "Acquisitions - Estimated Useful Life and Fair Value (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "C_44b46ac1-294b-4ad5-ac75-62384577540b",
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_44b46ac1-294b-4ad5-ac75-62384577540b",
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail",
     "longName": "995985 - Disclosure - Restructuring Plan - Additional Information (Detail)",
     "shortName": "Restructuring Plan - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:RestructuringCosts",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "rgen:NoncashInventoryAdjustments",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail",
     "longName": "995995 - Disclosure - Restructuring Plan - Summary of Restructuring Activities by Type of Cost (Detail)",
     "shortName": "Restructuring Plan - Summary of Restructuring Activities by Type of Cost (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:RestructuringCosts",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_8ab693e6-bbbd-4af2-bae9-28eb2bd31104",
      "name": "us-gaap:RestructuringCosts",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
     "longName": "996005 - Disclosure - Restructuring Plan - Summary of Activity Related to Restructuring Plan (Detail)",
     "shortName": "Restructuring Plan - Summary of Activity Related to Restructuring Plan (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:RestructuringCosts",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:PaymentsForRestructuring",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail",
     "longName": "996015 - Disclosure - Leases - Additional Information (Detail)",
     "shortName": "Leases - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:AreaOfLand",
      "unitRef": "U_sqft",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail",
     "longName": "996025 - Disclosure - Leases - Summary of Maturities of Operating Lease Liabilities (Detail)",
     "shortName": "Leases - Summary of Maturities of Operating Lease Liabilities (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R62": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail",
     "longName": "996035 - Disclosure - Leases - Summary of Maturities of Operating Lease Liabilities (parenthetical) (Detail)",
     "shortName": "Leases - Summary of Maturities of Operating Lease Liabilities (parenthetical) (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "rgen:LeaseObligationsNotYetCommenced",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "link:footnote",
       "div",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "rgen:LeaseObligationsNotYetCommenced",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "link:footnote",
       "div",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R63": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail",
     "longName": "996045 - Disclosure - Leases - Summary of Operating Lease Liability (Detail)",
     "shortName": "Leases - Summary of Operating Lease Liability (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:OperatingLeaseLiabilityCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R64": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail",
     "longName": "996055 - Disclosure - Leases - Summary of Operating Lease Cost (Detail)",
     "shortName": "Leases - Summary of Operating Lease Cost (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R65": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesDetail",
     "longName": "996065 - Disclosure - Leases - Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases (Detail)",
     "shortName": "Leases - Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:OperatingLeasePayments",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:OperatingLeasePayments",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R66": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail",
     "longName": "996075 - Disclosure - Leases - Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities (Detail)",
     "shortName": "Leases - Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R67": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail",
     "longName": "996085 - Disclosure - Revenue Recognition - Summary of Disaggregation of Revenue (Detail)",
     "shortName": "Revenue Recognition - Summary of Disaggregation of Revenue (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R68": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
     "longName": "996095 - Disclosure - Revenue Recognition - Additional Information (Detail)",
     "shortName": "Revenue Recognition - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R69": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail",
     "longName": "996105 - Disclosure - Revenue Recognition - Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail)",
     "shortName": "Revenue Recognition - Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:ContractWithCustomerReceivableAfterAllowanceForCreditLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:ContractWithCustomerReceivableAfterAllowanceForCreditLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R70": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesAdditionalInformationDetail",
     "longName": "996115 - Disclosure - Credit Losses - Additional Information (Detail)",
     "shortName": "Credit Losses - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R71": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail",
     "longName": "996125 - Disclosure - Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail)",
     "shortName": "Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "C_0c598f64-3ce3-4c44-bbc0-2731dec06b26",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:CreditLossFinancialInstrumentTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:CreditLossFinancialInstrumentTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R72": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail",
     "longName": "996135 - Disclosure - Goodwill and Intangible Assets - Changes in Carrying Value of Goodwill (Detail)",
     "shortName": "Goodwill and Intangible Assets - Changes in Carrying Value of Goodwill (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "C_0c598f64-3ce3-4c44-bbc0-2731dec06b26",
      "name": "us-gaap:Goodwill",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R73": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail",
     "longName": "996145 - Disclosure - Goodwill and Intangible Assets - Schedule of Intangible Assets (Detail)",
     "shortName": "Goodwill and Intangible Assets - Schedule of Intangible Assets (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock",
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock",
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R74": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
     "longName": "996165 - Disclosure - Goodwill and Intangible Assets - Additional Information (Detail)",
     "shortName": "Goodwill and Intangible Assets - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "74",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R75": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail",
     "longName": "996175 - Disclosure - Goodwill and Intangible Assets - Amortization Expense for Amortized Intangible Assets (Detail)",
     "shortName": "Goodwill and Intangible Assets - Amortization Expense for Amortized Intangible Assets (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "75",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R76": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail",
     "longName": "996185 - Disclosure - Consolidated Balance Sheet Detail - Schedule of Inventories (Detail)",
     "shortName": "Consolidated Balance Sheet Detail - Schedule of Inventories (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "76",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R77": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail",
     "longName": "996195 - Disclosure - Consolidated Balance Sheet Detail - Prepaid Expenses and Other Current Assets (Detail)",
     "shortName": "Consolidated Balance Sheet Detail - Prepaid Expenses and Other Current Assets (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "77",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "rgen:PrepaidServicesAndProfessionalFees",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "rgen:PrepaidServicesAndProfessionalFees",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R78": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail",
     "longName": "996205 - Disclosure - Consolidated Balance Sheet Detail - Property, Plant and Equipment (Detail)",
     "shortName": "Consolidated Balance Sheet Detail - Property, Plant and Equipment (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "78",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:Land",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:Land",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R79": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail",
     "longName": "996215 - Disclosure - Consolidated Balance Sheet Detail - Additional Information (Detail)",
     "shortName": "Consolidated Balance Sheet Detail - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "79",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:Depreciation",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:Depreciation",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R80": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail",
     "longName": "996225 - Disclosure - Consolidated Balance Sheet Detail - Schedule of Accrued Liabilities (Detail)",
     "shortName": "Consolidated Balance Sheet Detail - Schedule of Accrued Liabilities (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "80",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R81": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail",
     "longName": "996235 - Disclosure - Income Taxes - Income Before Income Taxes (Detail)",
     "shortName": "Income Taxes - Income Before Income Taxes (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "81",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R82": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail",
     "longName": "996245 - Disclosure - Income Taxes - Current, Deferred and Equity Income Taxes (Detail)",
     "shortName": "Income Taxes - Current, Deferred and Equity Income Taxes (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "82",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:CurrentIncomeTaxExpenseBenefit",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:CurrentIncomeTaxExpenseBenefit",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R83": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail",
     "longName": "996255 - Disclosure - Income Taxes - Provision for Income Taxes by Jurisdiction (Detail)",
     "shortName": "Income Taxes - Provision for Income Taxes by Jurisdiction (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "83",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R84": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail",
     "longName": "996265 - Disclosure - Income Taxes - Additional Information (Detail)",
     "shortName": "Income Taxes - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "84",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:OperatingLossCarryforwards",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:OperatingLossCarryforwards",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R85": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail",
     "longName": "996275 - Disclosure - Income Taxes - Consolidated Deferred Tax Assets (Liabilities) (Detail)",
     "shortName": "Income Taxes - Consolidated Deferred Tax Assets (Liabilities) (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "85",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R86": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail",
     "longName": "996285 - Disclosure - Income Taxes - Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail)",
     "shortName": "Income Taxes - Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "86",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R87": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
     "longName": "996295 - Disclosure - Income Taxes - Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities (Detail)",
     "shortName": "Income Taxes - Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "87",
     "firstAnchor": {
      "contextRef": "C_bdeb8b5b-0869-4604-8c0c-c230625200d4",
      "name": "us-gaap:OpenTaxYear",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SummaryOfIncomeTaxExaminationsTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_bdeb8b5b-0869-4604-8c0c-c230625200d4",
      "name": "us-gaap:OpenTaxYear",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SummaryOfIncomeTaxExaminationsTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R88": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail",
     "longName": "996305 - Disclosure - Income Taxes - Reconciliation of Unrecognized Tax Benefits (Detail)",
     "shortName": "Income Taxes - Reconciliation of Unrecognized Tax Benefits (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "88",
     "firstAnchor": {
      "contextRef": "C_0c598f64-3ce3-4c44-bbc0-2731dec06b26",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R89": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail",
     "longName": "996315 - Disclosure - Stockholders' Equity - Additional Information (Detail)",
     "shortName": "Stockholders' Equity - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "89",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:CommonStockSharesIssued",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R90": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail",
     "longName": "996325 - Disclosure - Stockholders' Equity -Stock-Based Compensation Expense (Detail)",
     "shortName": "Stockholders' Equity -Stock-Based Compensation Expense (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "90",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ShareBasedCompensation",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_dc7d7eec-9f46-46e4-8509-341b45573209",
      "name": "us-gaap:ShareBasedCompensation",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R91": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail",
     "longName": "996335 - Disclosure - Stockholders' Equity - Estimated Weighted Average Assumptions (Detail)",
     "shortName": "Stockholders' Equity - Estimated Weighted Average Assumptions (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "91",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R92": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail",
     "longName": "996345 - Disclosure - Stockholders' Equity -Summary of Option Activity (Detail)",
     "shortName": "Stockholders' Equity -Summary of Option Activity (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "92",
     "firstAnchor": {
      "contextRef": "C_0c598f64-3ce3-4c44-bbc0-2731dec06b26",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R93": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
     "longName": "996355 - Disclosure - Stockholders' Equity - Summary of Option Activity (Parenthetical) (Detail)",
     "shortName": "Stockholders' Equity - Summary of Option Activity (Parenthetical) (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "parenthetical",
     "menuCat": "Details",
     "order": "93",
     "firstAnchor": {
      "contextRef": "C_a6df805d-7a1c-40ca-945b-fda4c79b5dc7",
      "name": "rgen:PercentageOfSharesSubjectToForfeiture",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R94": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail",
     "longName": "996365 - Disclosure - Stockholders' Equity - Summary of Restricted Stock Unit Activity (Detail)",
     "shortName": "Stockholders' Equity - Summary of Restricted Stock Unit Activity (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "94",
     "firstAnchor": {
      "contextRef": "C_0c598f64-3ce3-4c44-bbc0-2731dec06b26",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R95": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
     "longName": "996375 - Disclosure - Stockholders' Equity - Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)",
     "shortName": "Stockholders' Equity - Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "parenthetical",
     "menuCat": "Details",
     "order": "95",
     "firstAnchor": {
      "contextRef": "C_d1eb03d2-f31a-42b3-8e21-80c5629704f6",
      "name": "rgen:PercentageOfSharesSubjectToForfeiture",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "link:footnote",
       "div",
       "div",
       "ix:continuation",
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R96": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail",
     "longName": "996385 - Disclosure - Commitments and Contingencies - Additional Information (Detail)",
     "shortName": "Commitments and Contingencies - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "96",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:ContractualObligationDueInNextTwelveMonths",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:ContractualObligationDueInNextTwelveMonths",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R97": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
     "longName": "996395 - Disclosure - Convertible Senior Notes - Carrying Value of Convertible Senior Notes (Detail)",
     "shortName": "Convertible Senior Notes - Carrying Value of Convertible Senior Notes (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "97",
     "firstAnchor": {
      "contextRef": "C_45b25950-5350-44d6-9095-0f27163c9d66",
      "name": "us-gaap:ConvertibleNotesPayableCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_bd13d202-f611-4de3-bb60-de3263a4d425",
      "name": "us-gaap:ConvertibleNotesPayableCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ConvertibleDebtTableTextBlock",
       "div",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R98": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
     "longName": "996405 - Disclosure - Convertible Senior Notes - Additional Information (Detail)",
     "shortName": "Convertible Senior Notes - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "98",
     "firstAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "us-gaap:ProceedsFromConvertibleDebt",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee",
      "name": "rgen:DebtInstrumentConvertibleIntoEquitySettled",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "unique": true
     }
    },
    "R99": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail",
     "longName": "996415 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Changes in Accumulated Other Comprehensive Income (Loss) (Detail)",
     "shortName": "Accumulated Other Comprehensive Income (Loss) - Changes in Accumulated Other Comprehensive Income (Loss) (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "99",
     "firstAnchor": {
      "contextRef": "C_0c598f64-3ce3-4c44-bbc0-2731dec06b26",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R100": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail",
     "longName": "996425 - Disclosure - Employee Benefit Plans - Additional Information (Detail)",
     "shortName": "Employee Benefit Plans - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "100",
     "firstAnchor": {
      "contextRef": "C_1cedf720-2fed-4464-9b91-5fa91941f750",
      "name": "us-gaap:DefinedBenefitPlanContributionsByEmployer",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_1cedf720-2fed-4464-9b91-5fa91941f750",
      "name": "us-gaap:DefinedBenefitPlanContributionsByEmployer",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R101": {
     "role": "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail",
     "longName": "996435 - Disclosure - Related Party Transactions - Additional Information (Detail)",
     "shortName": "Related Party Transactions - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "101",
     "firstAnchor": {
      "contextRef": "C_23beed10-3ba9-4e9f-b69e-cbd78136e023",
      "name": "us-gaap:ProfessionalFees",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_23beed10-3ba9-4e9f-b69e-cbd78136e023",
      "name": "us-gaap:ProfessionalFees",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgen-20231231.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "rgen_APACMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "APACMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A P A C Member",
        "label": "APAC [Member]",
        "terseLabel": "APAC"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_APACOtherMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "APACOtherMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "APAC/Other",
        "label": "A P A C Other [Member]",
        "verboseLabel": "APAC Other [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "na",
        "label": "Abstract Of Operating Lease Liability From Balance Sheet Table Text Block [Table Text Block]",
        "terseLabel": "Summary of Operating Lease Liability"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_AcceleratedDepreciationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AcceleratedDepreciationMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accelerated depreciation",
        "label": "Accelerated Depreciation [Member]",
        "documentation": "Accelerated depreciation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountingStandardsUpdate202006Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingStandardsUpdate202006Member",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update 2020-06 [Member]",
        "terseLabel": "Accounting Standards Update 2020-06",
        "documentation": "Accounting Standards Update 2020-06 Debt - Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging - Contracts in Entity's Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity's Own Equity."
       }
      }
     },
     "auth_ref": [
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Accounts Payable, Current, Total",
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r1033"
     ]
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]",
        "terseLabel": "Summary Of Allowance For Credit Losses For Accounts Receivables",
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r1167"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable [Member]",
        "terseLabel": "Accounts Receivable",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r970"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable, net of reserves of $2,122 and $1,365 at December 31, 2023 and December 31, 2022, respectively",
        "totalLabel": "Accounts Receivable, after Allowance for Credit Loss, Current, Total",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "verboseLabel": "Accounts receivable",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r379",
      "r380"
     ]
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedIncomeTaxesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income taxes payable",
        "label": "Accrued Income Taxes, Current",
        "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."
       }
      }
     },
     "auth_ref": [
      "r162",
      "r238"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities, Current",
        "terseLabel": "Accrued liabilities",
        "totalLabel": "Total accrued liabilities",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "rgen_AccruedLiabilitiesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AccruedLiabilitiesPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued Liabilities, Policy [Text Block]",
        "label": "Accrued Liabilities [Policy Text Block]",
        "terseLabel": "Accrued Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_AccumulatedDeficitMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AccumulatedDeficitMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Deficit [Member]",
        "label": "Accumulated Deficit [Member]",
        "documentation": "Accumulated deficit."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Ending Balance",
        "periodStartLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Beginning Balance",
        "totalLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Total",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedLabel": "Less - Accumulated depreciation",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r276",
      "r817"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Accumulated Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Net of Tax, Ending Balance",
        "periodStartLabel": "Accumulated Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Net of Tax, Beginning Balance",
        "label": "Accumulated Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Net of Tax",
        "terseLabel": "Translation adjustment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r290",
      "r291",
      "r292",
      "r293",
      "r729"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss) [Line Items]",
        "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r300",
      "r301",
      "r736",
      "r737",
      "r738",
      "r739",
      "r740",
      "r741"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Accumulated Other Comprehensive Income (Loss), Net of Tax, Total",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive loss",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r52",
      "r177",
      "r284",
      "r813",
      "r839",
      "r843"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss) [Table]",
        "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Table]",
        "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r300",
      "r301",
      "r736",
      "r737",
      "r738",
      "r739",
      "r740",
      "r741"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "AOCI Attributable to Parent [Member]",
        "terseLabel": "Accumulated Other Comprehensive Income (Loss)",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r23",
      "r52",
      "r700",
      "r703",
      "r768",
      "r834",
      "r835",
      "r1143",
      "r1144",
      "r1145",
      "r1156",
      "r1157",
      "r1158"
     ]
    },
    "us-gaap_AccumulatedTranslationAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedTranslationAdjustmentMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]",
        "verboseLabel": "Foreign Currency Translation Adjustment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r23",
      "r52",
      "r301",
      "r302",
      "r737",
      "r738",
      "r739",
      "r740",
      "r741",
      "r1143"
     ]
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AcquiredFiniteLivedIntangibleAssetResidualValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Acquired Finite-Lived Intangible Asset, Residual Value",
        "verboseLabel": "Intangible Asset Residual Value",
        "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."
       }
      }
     },
     "auth_ref": [
      "r87"
     ]
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life",
        "verboseLabel": "Weighted Average Useful Life (in years)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r199"
     ]
    },
    "rgen_AcquisitionDateFairValueOfContingentConsiderationEarnouts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AcquisitionDateFairValueOfContingentConsiderationEarnouts",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquisition date fair value of contingent consideration earnouts",
        "label": "Acquisition Date Fair Value of Contingent Consideration Earnouts",
        "documentation": "Acquisition date fair value of contingent consideration earnouts."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure [Text Block]",
        "terseLabel": "Additional 402(v) Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1087"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Additional Paid in Capital, Common Stock, Ending Balance",
        "periodStartLabel": "Additional Paid in Capital, Common Stock, Beginning Balance",
        "label": "Additional Paid in Capital, Common Stock",
        "terseLabel": "Additional paid-in capital",
        "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."
       }
      }
     },
     "auth_ref": [
      "r168"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional Paid-in Capital",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r631",
      "r632",
      "r633",
      "r856",
      "r1156",
      "r1157",
      "r1158",
      "r1232",
      "r1264"
     ]
    },
    "rgen_AdditionalUndiscountedInContingentConsiderationEarnoutPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AdditionalUndiscountedInContingentConsiderationEarnoutPayments",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional undiscounted in contingent consideration earnout payments",
        "documentation": "Additional undiscounted in contingent consideration earnout payments",
        "label": "Additional undiscounted in contingent consideration earnout payments"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation Amount",
        "terseLabel": "Adjustment to Compensation, Amount"
       }
      }
     },
     "auth_ref": [
      "r1093"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]",
        "terseLabel": "Adjustment to Compensation:"
       }
      }
     },
     "auth_ref": [
      "r1093"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]",
        "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote"
       }
      }
     },
     "auth_ref": [
      "r1093"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]",
        "terseLabel": "Adjustment To PEO Compensation, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1093"
     ]
    },
    "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsForNewAccountingPronouncementsAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update [Axis]",
        "terseLabel": "Adjustments for New Accounting Pronouncements [Axis]",
        "documentation": "Information by amendment to accounting standards."
       }
      }
     },
     "auth_ref": [
      "r265",
      "r266",
      "r267",
      "r268",
      "r269",
      "r328",
      "r329",
      "r330",
      "r331",
      "r340",
      "r384",
      "r385",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r449",
      "r631",
      "r632",
      "r633",
      "r666",
      "r667",
      "r668",
      "r669",
      "r685",
      "r686",
      "r687",
      "r695",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717",
      "r718",
      "r727",
      "r728",
      "r731",
      "r732",
      "r733",
      "r734",
      "r743",
      "r744",
      "r748",
      "r749",
      "r750",
      "r751",
      "r764",
      "r765",
      "r766",
      "r767",
      "r768",
      "r785",
      "r786",
      "r787",
      "r832",
      "r833",
      "r834",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843"
     ]
    },
    "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation",
        "negatedLabel": "Tax withholding on vesting of restricted stock",
        "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Additional Paid in Capital, Equity Component of Convertible Debt",
        "terseLabel": "Equity component of 0.375% senior convertible notes, net of tax",
        "verboseLabel": "Net adjustment for the initial",
        "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."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition, Total",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "verboseLabel": "Stock-based compensation expense",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r111",
      "r112",
      "r599"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquityParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from issuance of common stock,issuance costs",
        "label": "Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs",
        "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."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r211"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "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:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdvertisingCostsPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Advertising Costs",
        "label": "Advertising Cost [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for advertising cost."
       }
      }
     },
     "auth_ref": [
      "r250"
     ]
    },
    "us-gaap_AdvertisingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdvertisingExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advertising Expense",
        "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."
       }
      }
     },
     "auth_ref": [
      "r638"
     ]
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount",
        "terseLabel": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1057",
      "r1069",
      "r1079",
      "r1105"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]",
        "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined"
       }
      }
     },
     "auth_ref": [
      "r1060",
      "r1072",
      "r1082",
      "r1108"
     ]
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Adjustments to Compensation [Member]",
        "terseLabel": "All Adjustments to Compensation"
       }
      }
     },
     "auth_ref": [
      "r1093"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Executive Categories [Member]",
        "terseLabel": "All Executive Categories"
       }
      }
     },
     "auth_ref": [
      "r1100"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Individuals [Member]",
        "terseLabel": "All Individuals"
       }
      }
     },
     "auth_ref": [
      "r1064",
      "r1073",
      "r1083",
      "r1100",
      "r1109",
      "r1113",
      "r1121"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Trading Arrangements [Member]",
        "terseLabel": "All Trading Arrangements"
       }
      }
     },
     "auth_ref": [
      "r1119"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Accounts Receivable, Allowance for Credit Loss, Ending Balance",
        "periodStartLabel": "Accounts Receivable, Allowance for Credit Loss, Beginning Balance",
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "negatedPeriodEndLabel": "Ending balance",
        "negatedPeriodStartLabel": "Beginning balance",
        "documentation": "Amount of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r285",
      "r381",
      "r403",
      "r406",
      "r409",
      "r1257"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "terseLabel": "Accounts receivable, reserve for doubtful accounts",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r285",
      "r381",
      "r403"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff",
        "terseLabel": "Current period change for write-offs",
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance."
       }
      }
     },
     "auth_ref": [
      "r408"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfDebtDiscountPremium": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfDebtDiscountPremium",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization of debt discount and issuance costs",
        "label": "Amortization of Debt Discount (Premium)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r146",
      "r187",
      "r493"
     ]
    },
    "rgen_AmortizationOfDebtIssuanceCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AmortizationOfDebtIssuanceCost",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Amortization of debt issuance costs",
        "documentation": "Amortization of debt issuance cost.",
        "label": "Amortization Of Debt Issuance Cost",
        "terseLabel": "Amortization of debt issuance costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfFinancingCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization of debt discount and issuance costs",
        "label": "Amortization of Debt Issuance Costs",
        "documentation": "Amount of amortization expense attributable to debt issuance costs."
       }
      }
     },
     "auth_ref": [
      "r180",
      "r493",
      "r746",
      "r1151"
     ]
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Amortization of Intangible Assets, Total",
        "label": "Amortization of Intangible Assets",
        "verboseLabel": "Amortization expense",
        "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."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r85",
      "r91"
     ]
    },
    "rgen_AmortizationOfInventoryStepUp": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AmortizationOfInventoryStepUp",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Inventory step-up charges",
        "label": "Amortization Of Inventory Step Up",
        "documentation": "Amortization of inventory step up."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Common stock excluded from calculation of diluted earnings per share",
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r350"
     ]
    },
    "us-gaap_AreaOfLand": {
     "xbrltype": "areaItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AreaOfLand",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Area of Land",
        "terseLabel": "Expansion of existing premises",
        "verboseLabel": "Area Of Land",
        "documentation": "Area of land held."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ArtesynBiosolutionsHoldingsIrelandLimitedMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Metenova Holding AB",
        "documentation": "ARTeSYN Biosolutions Holdings Ireland Limited.",
        "label": "ARTeSYN Biosolutions Holdings Ireland Limited [Member]",
        "terseLabel": "ARTeSYN Biosolutions Holdings Ireland Limited"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ArtesynBiosolutionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ArtesynBiosolutionsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ARTeSYN Biosolutions",
        "label": "ARTeSYN Biosolutions [Member]",
        "terseLabel": "ARTeSYN Biosolutions",
        "verboseLabel": "ARTeSYN"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetImpairmentCharges": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetImpairmentCharges",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment charges",
        "label": "Asset Impairment Charges",
        "totalLabel": "Asset Impairment Charges, Total",
        "documentation": "Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r92"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets",
        "terseLabel": "Assets",
        "totalLabel": "Total assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r236",
      "r280",
      "r318",
      "r356",
      "r369",
      "r373",
      "r389",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r691",
      "r693",
      "r730",
      "r808",
      "r901",
      "r1033",
      "r1046",
      "r1186",
      "r1187",
      "r1246"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current",
        "totalLabel": "Total current assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r271",
      "r289",
      "r318",
      "r389",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r691",
      "r693",
      "r730",
      "r1033",
      "r1186",
      "r1187",
      "r1246"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsFairValueDisclosure",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Assets, fair value",
        "label": "Assets, Fair Value Disclosure",
        "totalLabel": "Assets, Fair Value Disclosure, Total",
        "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r139"
     ]
    },
    "rgen_AssetsNonCurrentExcludingDifferedTaxAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AssetsNonCurrentExcludingDifferedTaxAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total noncurrent assets",
        "label": "Assets, Noncurrent",
        "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 after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r318",
      "r389",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r691",
      "r693",
      "r730",
      "r1186",
      "r1187",
      "r1246"
     ]
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Auditor Firm Id",
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r1051",
      "r1052",
      "r1065"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorLocation",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Auditor Firm Location",
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r1051",
      "r1052",
      "r1065"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorName",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Auditor Firm Name",
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r1051",
      "r1052",
      "r1065"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One",
        "terseLabel": "Maturity of one year or less, Estimated Fair Value",
        "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r388",
      "r806"
     ]
    },
    "rgen_AvailableForSaleSecuritiesEstimatedFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AvailableForSaleSecuritiesEstimatedFairValue",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail": {
       "parentTag": "rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Available for sale securities estimated fair value.",
        "label": "Available for Sale Securities Estimated Fair Value",
        "terseLabel": "Marketable securities, Estimated Fair Value"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_AvitideAndFlexbiosysMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AvitideAndFlexbiosysMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Avitide and Flexbiosys",
        "label": "Avitide and FlexBiosys [Member]",
        "documentation": "Avitide and FlexBiosys."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_AvitideIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AvitideIncMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Avitide, Inc. [Member]",
        "label": "Avitide, Inc. [Member]",
        "terseLabel": "Avitide, Inc."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_AvitideLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "AvitideLlcMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Avitide Llc",
        "label": "Avitide LLC [Member]",
        "documentation": "Avitide LLC."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Exercise Price",
        "terseLabel": "Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r1116"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Grant Date Fair Value",
        "terseLabel": "Fair Value as of Grant Date"
       }
      }
     },
     "auth_ref": [
      "r1117"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]",
        "terseLabel": "Award Timing Disclosures"
       }
      }
     },
     "auth_ref": [
      "r1112"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered [Text Block]",
        "terseLabel": "Award Timing, How MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r1112"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method [Text Block]",
        "terseLabel": "Award Timing Method"
       }
      }
     },
     "auth_ref": [
      "r1112"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered [Flag]",
        "terseLabel": "Award Timing MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r1112"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure [Text Block]",
        "terseLabel": "Award Timing MNPI Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1112"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined [Flag]",
        "terseLabel": "Award Timing Predetermined"
       }
      }
     },
     "auth_ref": [
      "r1112"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r601",
      "r602",
      "r603",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Underlying Securities Amount",
        "terseLabel": "Underlying Securities"
       }
      }
     },
     "auth_ref": [
      "r1115"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r1114"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures"
       }
      }
     },
     "auth_ref": [
      "r1113"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures, Table"
       }
      }
     },
     "auth_ref": [
      "r1113"
     ]
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BalanceSheetLocationAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Location [Axis]",
        "documentation": "Information by location on balance sheet (statement of financial position)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BalanceSheetLocationDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Location [Domain]",
        "documentation": "Location in the balance sheet (statement of financial position)."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r135"
     ]
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of Presentation and Significant Accounting Policies [Text Block]",
        "terseLabel": "Basis of presentation",
        "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."
       }
      }
     },
     "auth_ref": [
      "r194"
     ]
    },
    "rgen_BioflexAndNtmAcquisitionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BioflexAndNtmAcquisitionMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "BioFlex And NTM Acquisition",
        "label": "BioFlex And NTM Acquisition [Member]",
        "documentation": "NTM Acquisition [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_BioflexMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BioflexMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "BioFlex [Member]",
        "label": "BioFlex [Member]",
        "terseLabel": "BioFlex"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BuildingMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Building [Member]",
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities."
       }
      }
     },
     "auth_ref": [
      "r203"
     ]
    },
    "us-gaap_BuildingsAndImprovementsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BuildingsAndImprovementsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Buildings and Improvements, Gross, Total",
        "label": "Buildings and Improvements, Gross",
        "terseLabel": "Buildings",
        "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."
       }
      }
     },
     "auth_ref": [
      "r203"
     ]
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionAcquireeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Acquiree [Domain]",
        "terseLabel": "Business Acquisition, Acquiree [Domain]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r683",
      "r1023",
      "r1026"
     ]
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition [Axis]",
        "terseLabel": "Business Acquisition [Axis]",
        "documentation": "Information by business combination or series of individually immaterial business combinations."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r123",
      "r683",
      "r1023",
      "r1026"
     ]
    },
    "us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionCostOfAcquiredEntityTransactionCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Transaction Costs",
        "terseLabel": "Transaction costs",
        "documentation": "Amount of direct costs of the business combination including legal, accounting, and other costs incurred to consummate the business acquisition."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionEffectiveDateOfAcquisition1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business combination date of acquistion",
        "label": "Business Acquisition, Effective Date of Acquisition",
        "documentation": "Date when the acquirer obtains control of the acquiree, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r3",
      "r25"
     ]
    },
    "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Number of shares of equity interests issued or issuable to acquire entity."
       }
      }
     },
     "auth_ref": [
      "r229"
     ]
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition [Line Items]",
        "terseLabel": "Business Acquisition [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r683"
     ]
    },
    "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Percentage of Voting Interests Acquired",
        "terseLabel": "Business acquisition, voting interest acquired",
        "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination."
       }
      }
     },
     "auth_ref": [
      "r121"
     ]
    },
    "us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionProFormaEarningsPerShareBasic",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Pro Forma Earnings Per Share, Basic",
        "terseLabel": "Basic",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1133",
      "r1134"
     ]
    },
    "us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionProFormaEarningsPerShareDiluted",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Pro Forma Earnings Per Share, Diluted",
        "terseLabel": "Diluted",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1133",
      "r1134"
     ]
    },
    "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionProFormaInformationTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Pro Forma Information [Table Text Block]",
        "terseLabel": "Unaudited Supplemental Pro Forma Information",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1133",
      "r1134"
     ]
    },
    "rgen_BusinessAcquisitionWorkingCapitalAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessAcquisitionWorkingCapitalAdjustments",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Working capital adjustment",
        "label": "Business Acquisition Working Capital Adjustments",
        "documentation": "Business acquisition working capital adjustments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionsProFormaNetIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Pro Forma Net Income (Loss)",
        "terseLabel": "Net income",
        "verboseLabel": "Business acquisitions proforma net loss",
        "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."
       }
      }
     },
     "auth_ref": [
      "r681",
      "r682"
     ]
    },
    "us-gaap_BusinessAcquisitionsProFormaRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionsProFormaRevenue",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Pro Forma Revenue",
        "terseLabel": "Total revenue",
        "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period."
       }
      }
     },
     "auth_ref": [
      "r681",
      "r682"
     ]
    },
    "us-gaap_BusinessCombinationAcquisitionRelatedCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationAcquisitionRelatedCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Acquisition Related Costs",
        "terseLabel": "Business Combination, Acquisition Related Costs",
        "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."
       }
      }
     },
     "auth_ref": [
      "r119"
     ]
    },
    "rgen_BusinessCombinationAdditionalCashForTransactionBonus": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationAdditionalCashForTransactionBonus",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination Additional Cash For Transaction Bonus",
        "documentation": "Business combination additional cash for transaction bonus."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationAndAssetAcquisitionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination and Asset Acquisition [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_BusinessCombinationConsiderationIndemnificationEscrow": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationConsiderationIndemnificationEscrow",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination Consideration Indemnification Escrow",
        "label": "Business Combination Consideration Indemnification Escrow",
        "terseLabel": "Business acquisition, Indemnification escrow"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationConsiderationTransferred1",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Consideration Transferred",
        "terseLabel": "Business combination, consideration transferred",
        "totalLabel": "Fair value of net assets acquired",
        "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."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r5",
      "r18"
     ]
    },
    "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail": {
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Consideration Transferred, Equity Interests Issued and Issuable",
        "terseLabel": "Equity consideration",
        "verboseLabel": "Value of common stock issued",
        "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r5"
     ]
    },
    "us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationConsiderationTransferredLiabilitiesIncurred",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail": {
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Business combination contingent consideration",
        "label": "Business Combination, Consideration Transferred, Liabilities Incurred",
        "terseLabel": "Contingent consideration - earnout",
        "negatedLabel": "Decrease in fair value of contingent consideration earnouts",
        "documentation": "Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r5",
      "r130",
      "r689"
     ]
    },
    "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contingent consideration",
        "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability",
        "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement."
       }
      }
     },
     "auth_ref": [
      "r690",
      "r1150"
     ]
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Contingent Consideration, Liability, Current",
        "terseLabel": "Current contingent consideration",
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r131"
     ]
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationContingentConsiderationLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Noncurrent contingent consideration",
        "label": "Business Combination, Contingent Consideration, Liability, Noncurrent",
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r131"
     ]
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationDisclosureTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/Acquisitions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination Disclosure [Text Block]",
        "terseLabel": "Acquisitions",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r226",
      "r684"
     ]
    },
    "us-gaap_BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Indemnification Assets, Range of Outcomes, Value, High",
        "documentation": "For indemnification assets recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the indemnification benefit which may be realized."
       }
      }
     },
     "auth_ref": [
      "r125"
     ]
    },
    "us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual",
        "terseLabel": "Business acquisition, revenue",
        "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."
       }
      }
     },
     "auth_ref": [
      "r122"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net asset acquired",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets",
        "totalLabel": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets, Total",
        "documentation": "Amount of assets acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r126"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents",
        "terseLabel": "Cash and cash equivalents",
        "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."
       }
      }
     },
     "auth_ref": [
      "r126"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets",
        "terseLabel": "Prepaid expenses and other current assets",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r126"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables",
        "terseLabel": "Accounts receivable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r126"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable",
        "negatedLabel": "Accounts payable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r126"
     ]
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long term deferred tax asset",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Deferred Tax Asset Noncurrent",
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed deferred tax asset noncurrent."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long term deferred tax liability",
        "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liability Noncurrent",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liability Noncurrent"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair value of acquired finite lived intangible assets",
        "totalLabel": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill, Total",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill",
        "verboseLabel": "Business combination, intangible assets",
        "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r126"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles",
        "verboseLabel": "Fair Value",
        "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r126"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Inventory",
        "terseLabel": "Inventory",
        "documentation": "The amount of inventory recognized as of the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r126"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net liabilities assumed",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities",
        "totalLabel": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities, Total",
        "documentation": "Amount of liabilities assumed at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r126"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other liabilities",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Other",
        "documentation": "Amount of other liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r126"
     ]
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Operating lease liability",
        "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"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Operating lease liability, long-term",
        "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"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other assets",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r126"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment, Total",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment",
        "terseLabel": "Property and equipment",
        "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r126"
     ]
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Fair value of net assets acquired",
        "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net",
        "terseLabel": "Fair value of net assets acquired",
        "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed."
       }
      }
     },
     "auth_ref": [
      "r126"
     ]
    },
    "rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_BusinessCombinationTransactionCostPaidDuringPeriod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationTransactionCostPaidDuringPeriod",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination Transaction Cost Paid During Period",
        "documentation": "Business combination transaction cost paid during period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combinations [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_BusinessCombinationsCashDepositedInEscrowAccount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "BusinessCombinationsCashDepositedInEscrowAccount",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_CTechnologiesIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CTechnologiesIncMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "C Technologies Inc Member",
        "label": "C Technologies Inc [Member]",
        "terseLabel": "C Technologies Inc"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_CTechnologiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CTechnologiesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "C Technologies Member",
        "label": "C Technologies [Member]",
        "terseLabel": "C Technologies",
        "verboseLabel": "C Technologies, Inc."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_CapacityOfBioreactors": {
     "xbrltype": "volumeItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CapacityOfBioreactors",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It's represents about capacity of bioreactors.",
        "label": "Capacity Of Bioreactors",
        "verboseLabel": "Bioreactors used in perfusion cell culture applications"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CapitalUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalUnitsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capital Units",
        "label": "Capital Units [Member]",
        "verboseLabel": "Capital Stock",
        "documentation": "Type of ownership interest in a corporation. Class of capital units or capital shares."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CapitalizedComputerSoftwareGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedComputerSoftwareGross",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capitalized Computer Software, Gross",
        "terseLabel": "Computer hardware and software",
        "documentation": "Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software."
       }
      }
     },
     "auth_ref": [
      "r1270"
     ]
    },
    "us-gaap_Cash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Cash",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash",
        "label": "Cash",
        "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. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r246",
      "r810",
      "r867",
      "r896",
      "r1033",
      "r1046",
      "r1138"
     ]
    },
    "rgen_CashAndCashEquivalentsAndMoneyMarketFundsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CashAndCashEquivalentsAndMoneyMarketFundsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash and cash equivalents And money market funds.",
        "label": "Cash And Cash Equivalents And Money Market Funds [Member]",
        "terseLabel": "Cash equivalents and marketable securities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Cash and Cash Equivalents, at Carrying Value, Ending Balance",
        "periodStartLabel": "Cash and Cash Equivalents, at Carrying Value, Beginning Balance",
        "totalLabel": "Cash and Cash Equivalents, at Carrying Value, Total",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "terseLabel": "Cash and cash equivalents",
        "verboseLabel": "Cash and cash equivalents",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r61",
      "r274",
      "r986"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [Axis]",
        "documentation": "Information by type of cash and cash equivalent balance."
       }
      }
     },
     "auth_ref": [
      "r274"
     ]
    },
    "us-gaap_CashAndCashEquivalentsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [Line Items]",
        "verboseLabel": "Cash and Cash Equivalents [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [Member]",
        "terseLabel": "Cash and cash equivalents",
        "documentation": "Currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash, Cash Equivalents and Restricted Cash",
        "label": "Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r235"
     ]
    },
    "rgen_CashAndMoneyMarketFundsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CashAndMoneyMarketFundsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash and money market funds.",
        "label": "Cash and Money Market Funds [Member]",
        "terseLabel": "Cash and money market funds"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of cash, cash equivalents, and marketable securities held to maturity.",
        "label": "Cash, Cash Equivalents and Marketable Securities Held to Maturity [Table Text Block]",
        "terseLabel": "Summary of Cash, Cash Equivalents and Marketable Securities Held to Maturity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash and cash equivalents, beginning of period",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "totalLabel": "Total cash, cash equivalents, and restricted cash",
        "periodEndLabel": "Cash and cash equivalents, end of period",
        "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."
       }
      }
     },
     "auth_ref": [
      "r61",
      "r191",
      "r315"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net increase (decrease) in cash and cash equivalents",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r191"
     ]
    },
    "rgen_CashConsiderationExcludingRestrictedCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CashConsiderationExcludingRestrictedCash",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail": {
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash consideration excluding restricted cash.",
        "label": "Cash Consideration Excluding Restricted Cash",
        "terseLabel": "Cash consideration"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ChangeInContractWithCustomerAssetAndLiabilityAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Revenue recognized during periods presented relating to:",
        "label": "Change in Contract with Customer, Asset and Liability [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote [Text Block]",
        "terseLabel": "Changed Peer Group, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1091"
     ]
    },
    "rgen_ChromatographyProductsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ChromatographyProductsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Chromatography Products [Member]",
        "label": "Chromatography Products [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfStockDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Domain]",
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock."
       }
      }
     },
     "auth_ref": [
      "r264",
      "r281",
      "r282",
      "r283",
      "r318",
      "r343",
      "r344",
      "r347",
      "r349",
      "r354",
      "r355",
      "r389",
      "r469",
      "r471",
      "r472",
      "r473",
      "r476",
      "r477",
      "r499",
      "r500",
      "r503",
      "r506",
      "r512",
      "r730",
      "r847",
      "r848",
      "r849",
      "r850",
      "r856",
      "r857",
      "r858",
      "r859",
      "r860",
      "r861",
      "r862",
      "r863",
      "r864",
      "r865",
      "r866",
      "r868",
      "r888",
      "r910",
      "r933",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r1128",
      "r1152",
      "r1159"
     ]
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount",
        "terseLabel": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r1092"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name",
        "terseLabel": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r1092"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitments and contingencies (Note 13)",
        "label": "Commitments and Contingencies",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r152",
      "r809",
      "r887"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r204",
      "r463",
      "r464",
      "r971",
      "r1183"
     ]
    },
    "rgen_CommitmentsAndContingenciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CommitmentsAndContingenciesLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commitments and Contingencies [Line Items]",
        "label": "Commitments and Contingencies [Line Items]",
        "terseLabel": "Commitments and Contingencies [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_CommitmentsAndContingenciesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CommitmentsAndContingenciesTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commitments and Contingencies [Table]",
        "label": "Commitments and Contingencies [Table]",
        "terseLabel": "Commitments and Contingencies [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Capital Shares Reserved for Future Issuance",
        "verboseLabel": "Common stock shares reserved for Issuance",
        "documentation": "Aggregate number of common shares reserved for future issuance."
       }
      }
     },
     "auth_ref": [
      "r48"
     ]
    },
    "rgen_CommonStockIssuePricePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CommonStockIssuePricePerShare",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r1036",
      "r1037",
      "r1038",
      "r1040",
      "r1041",
      "r1042",
      "r1043",
      "r1156",
      "r1157",
      "r1232",
      "r1260",
      "r1264"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r167"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r888"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Common Stock, Shares, Issued, Total",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, shares issued",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r167"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Common Stock, Shares, Outstanding, Ending Balance",
        "periodStartLabel": "Common Stock, Shares, Outstanding, Beginning Balance",
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common stock, shares outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r167",
      "r888",
      "r907",
      "r1264",
      "r1265"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Common stock, $0.01 par value; 80,000,000 shares authorized; 55,766,078 shares at December 31, 2023 and 55,557,698 shares at December 31, 2022 issued and outstanding",
        "periodEndLabel": "Common Stock, Value, Issued, Ending Balance",
        "periodStartLabel": "Common Stock, Value, Issued, Beginning Balance",
        "totalLabel": "Common Stock, Value, Issued, Total",
        "label": "Common Stock, Value, Issued",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r812",
      "r1033"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Company Selected Measure"
       }
      }
     },
     "auth_ref": [
      "r1097"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Net Income"
       }
      }
     },
     "auth_ref": [
      "r1096"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Other Measure"
       }
      }
     },
     "auth_ref": [
      "r1098"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return"
       }
      }
     },
     "auth_ref": [
      "r1095"
     ]
    },
    "us-gaap_CompensationAndEmployeeBenefitPlansTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CompensationAndEmployeeBenefitPlansTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation and Employee Benefit Plans [Text Block]",
        "terseLabel": "Employee Benefit Plans",
        "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."
       }
      }
     },
     "auth_ref": [
      "r212",
      "r215",
      "r216",
      "r217"
     ]
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Benefits [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CompensationExpenseExcludingCostOfGoodAndServiceSold",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Expense, Excluding Cost of Good and Service Sold",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1146"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Comprehensive income",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive income",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r296",
      "r298",
      "r305",
      "r803",
      "r822"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTaxAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNoteTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNoteTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss) Note [Text Block]",
        "terseLabel": "Accumulated Other Comprehensive Income (Loss)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r176",
      "r304",
      "r802",
      "r821"
     ]
    },
    "rgen_ComputerHardwareAndSoftwareMemberMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ComputerHardwareAndSoftwareMemberMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Computer Hardware And Software Member Member",
        "label": "Computer Hardware And Software member [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Domain]",
        "terseLabel": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r74",
      "r144",
      "r145",
      "r378",
      "r970"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "terseLabel": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r74",
      "r144",
      "r145",
      "r378",
      "r844",
      "r970"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Axis]",
        "terseLabel": "Concentration Risk Type [Axis]",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r74",
      "r144",
      "r145",
      "r378",
      "r970",
      "r1132"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Concentrations of Credit Risk and Significant Customers",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r156",
      "r253"
     ]
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Line Items]",
        "verboseLabel": "Concentration Risk [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r970"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable, percentage by customer",
        "label": "Concentration Risk, Percentage",
        "verboseLabel": "Revenue from significant customers as a percentage of total revenue",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r74",
      "r144",
      "r145",
      "r378"
     ]
    },
    "us-gaap_ConcentrationRiskTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Table]",
        "verboseLabel": "Concentration Risk [Table]",
        "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r71",
      "r74",
      "r75",
      "r144",
      "r231",
      "r970"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Domain]",
        "terseLabel": "Concentration Risk Type [Domain]",
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r74",
      "r144",
      "r145",
      "r378",
      "r970"
     ]
    },
    "us-gaap_ConstructionInProgressGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConstructionInProgressGross",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Construction in Progress, Gross",
        "terseLabel": "Construction in progress",
        "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."
       }
      }
     },
     "auth_ref": [
      "r203"
     ]
    },
    "us-gaap_ContingentConsiderationByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContingentConsiderationByTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingent Consideration by Type [Axis]",
        "terseLabel": "Contingent Consideration by Type [Axis]",
        "documentation": "Information by type of contingent consideration."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ContingentConsiderationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ContingentConsiderationExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contingent consideration",
        "label": "Contingent Consideration Expense",
        "documentation": "Contingent consideration expense.",
        "verboseLabel": "Contingent consideration"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ContingentConsiderationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ContingentConsiderationMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contingent Consideration",
        "documentation": "Contingent consideration.",
        "label": "Contingent Consideration [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ContingentConsiderationObligationEstimated": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ContingentConsiderationObligationEstimated",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contingent consideration obligation estimated",
        "label": "Contingent Consideration Obligation Estimated",
        "documentation": "Contingent Consideration Obligation Estimated"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContingentConsiderationTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContingentConsiderationTypeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingent Consideration Type [Domain]",
        "terseLabel": "Contingent Consideration Type [Domain]",
        "documentation": "Description of contingent payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetAndLiabilityAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Abstract]",
        "verboseLabel": "Balances from contracts with customers only:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognitionTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]",
        "verboseLabel": "Summary of Receivables and Deferred Revenue from Contracts with Customers",
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability."
       }
      }
     },
     "auth_ref": [
      "r1190"
     ]
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Contract with Customer, Liability, Total",
        "label": "Contract with Customer, Liability",
        "terseLabel": "The beginning deferred revenue balance",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r514",
      "r515",
      "r527"
     ]
    },
    "us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerReceivableAfterAllowanceForCreditLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable",
        "label": "Contract with Customer, Receivable, after Allowance for Credit Loss",
        "totalLabel": "Contract with Customer, Receivable, after Allowance for Credit Loss, Total",
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right to consideration is unconditional."
       }
      }
     },
     "auth_ref": [
      "r514",
      "r516",
      "r527",
      "r969"
     ]
    },
    "us-gaap_ContractualObligationDueInNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractualObligationDueInNextTwelveMonths",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contractual Obligation, to be Paid, Year One",
        "terseLabel": "Outstanding obligation",
        "documentation": "Amount of contractual obligation to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConvertibleDebtNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConvertibleDebtNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Total convertible senior notes",
        "terseLabel": "Convertible Senior Notes due 2028, net",
        "label": "Convertible Debt, Noncurrent",
        "documentation": "Carrying amount of long-term convertible debt as of the balance sheet date, net of the amount due in the next twelve months or greater than the normal operating cycle, if longer. The debt is convertible into another form of financial instrument, typically the entity's common stock."
       }
      }
     },
     "auth_ref": [
      "r45"
     ]
    },
    "us-gaap_ConvertibleDebtTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConvertibleDebtTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible Debt [Table Text Block]",
        "terseLabel": "Carrying Value of Convertible Senior Notes",
        "documentation": "Tabular disclosure of convertible debt instrument. Includes, but is not limited to, principal amount and amortized premium or discount."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ConvertibleNotesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ConvertibleNotesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two Thousand and Twenty Three Convertible Notes [Member]",
        "terseLabel": "2023 Convertible Notes",
        "label": "2023 Convertible Notes [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConvertibleNotesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConvertibleNotesPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Total convertible senior notes",
        "terseLabel": "Convertible Senior Notes due 2024, net",
        "label": "Convertible Notes Payable, Current",
        "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."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "rgen_ConvertibleNotesTransactionCostsOfEquityComponent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ConvertibleNotesTransactionCostsOfEquityComponent",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ConvertibleNotesTransactionCostsOfLiabilityComponent",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_CoronavirusAidReliefAndEconomicSecurityFundValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CoronavirusAidReliefAndEconomicSecurityFundValue",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cost of Goods and Services Sold, Total",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of product revenue",
        "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."
       }
      }
     },
     "auth_ref": [
      "r182",
      "r783"
     ]
    },
    "us-gaap_CostOfSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfSalesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Sales [Member]",
        "terseLabel": "Cost of product revenue",
        "documentation": "Primary financial statement caption encompassing cost of sales."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostsAndExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostsAndExpenses",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs and Expenses",
        "totalLabel": "Total costs and operating expenses",
        "documentation": "Total costs of sales and operating expenses for the period."
       }
      }
     },
     "auth_ref": [
      "r181"
     ]
    },
    "us-gaap_CostsAndExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostsAndExpensesAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs and Expenses [Abstract]",
        "verboseLabel": "Costs and operating expenses:"
       }
      }
     },
     "auth_ref": []
    },
    "srt_CounterpartyNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "CounterpartyNameAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsDetailParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Axis]"
       }
      }
     },
     "auth_ref": [
      "r322",
      "r323",
      "r481",
      "r501",
      "r774",
      "r993",
      "r995"
     ]
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditLossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditLossAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Loss [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditLossFinancialInstrumentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditLossFinancialInstrumentPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Loss, Financial Instrument [Policy Text Block]",
        "terseLabel": "Allowance for credit losses",
        "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."
       }
      }
     },
     "auth_ref": [
      "r259",
      "r400",
      "r401",
      "r402",
      "r404",
      "r405",
      "r410",
      "r411",
      "r413",
      "r414",
      "r415",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r425"
     ]
    },
    "us-gaap_CreditLossFinancialInstrumentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditLossFinancialInstrumentTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CreditLosses"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Loss, Financial Instrument [Text Block]",
        "terseLabel": "Credit Losses",
        "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."
       }
      }
     },
     "auth_ref": [
      "r382",
      "r383",
      "r405",
      "r412",
      "r413",
      "r416",
      "r417",
      "r424",
      "r425"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Current Income Tax Expense (Benefit), Total",
        "label": "Current Income Tax Expense (Benefit)",
        "terseLabel": "Current",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r225",
      "r665",
      "r673",
      "r1155"
     ]
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Concentration Risk [Member]",
        "terseLabel": "Customer Concentration Risk",
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r378"
     ]
    },
    "rgen_CustomerNumberOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "CustomerNumberOneMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer number one member.",
        "label": "Customer Number One [Member]",
        "terseLabel": "Customer Number One"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerRelationshipsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerRelationshipsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Relationships [Member]",
        "terseLabel": "Customer relationships",
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships."
       }
      }
     },
     "auth_ref": [
      "r129"
     ]
    },
    "rgen_DaylightSolutionsIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DaylightSolutionsIncMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsDetailParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Daylight solutions Inc.",
        "label": "Daylight Solutions Inc.[Member]",
        "terseLabel": "Daylight Solutions Inc.[Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtConversionConvertedInstrumentAmount1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtConversionConvertedInstrumentAmount1",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r66"
     ]
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtInstrumentAccruedAndUnpaidInterest": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtInstrumentAccruedAndUnpaidInterest",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued and unpaid interest",
        "label": "Debt Instrument, Accrued and Unpaid Interest",
        "documentation": "Debt instrument, accrued and unpaid interest."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Axis]",
        "terseLabel": "Debt Instrument [Axis]",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r161",
      "r162",
      "r237",
      "r240",
      "r324",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r747",
      "r1006",
      "r1007",
      "r1008",
      "r1009",
      "r1010",
      "r1153"
     ]
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentCarryingAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt, Gross",
        "terseLabel": "Principal amount",
        "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."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r240",
      "r495"
     ]
    },
    "us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleBeneficialConversionFeature",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Convertible, Beneficial Conversion Feature",
        "terseLabel": "Proceeds allocated to the conversion feature",
        "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."
       }
      }
     },
     "auth_ref": [
      "r105"
     ]
    },
    "us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Convertible, Carrying Amount of Equity Component",
        "verboseLabel": "Equity component of converted debt",
        "documentation": "The carrying amount of the equity component of convertible debt which may be settled in cash upon conversion."
       }
      }
     },
     "auth_ref": [
      "r101"
     ]
    },
    "us-gaap_DebtInstrumentConvertibleConversionPrice1": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleConversionPrice1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Convertible, Conversion Price",
        "terseLabel": "Notes initial conversion price",
        "documentation": "The price per share of the conversion feature embedded in the debt instrument."
       }
      }
     },
     "auth_ref": [
      "r206",
      "r480"
     ]
    },
    "us-gaap_DebtInstrumentConvertibleConversionRatio1": {
     "xbrltype": "pureItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleConversionRatio1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Convertible, Conversion Ratio",
        "terseLabel": "Notes conversion ratio per $1,000 principal amount",
        "documentation": "Ratio applied to the conversion of debt instrument into equity with equity shares divided by debt principal amount."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r104",
      "r209",
      "r210",
      "r480"
     ]
    },
    "rgen_DebtInstrumentConvertibleIntoEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtInstrumentConvertibleIntoEquity",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt instrument convertible into equity.",
        "label": "Debt Instrument Convertible Into Equity",
        "terseLabel": "Debt instrument amount convertible into equity"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtInstrumentConvertibleIntoEquitySettled": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtInstrumentConvertibleIntoEquitySettled",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt instrument convertible in to equity settled",
        "label": "Debt Instrument Convertible Into Equity Settled",
        "documentation": "Debt instrument convertible in to equity settled"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleThresholdConsecutiveTradingDays1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Convertible, Threshold Consecutive Trading Days",
        "terseLabel": "Notes threshold consecutive trading days",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger",
        "terseLabel": "Notes threshold percentage of stock price trigger",
        "documentation": "Minimum percentage of common stock price to conversion price of convertible debt instruments to determine eligibility of conversion."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentConvertibleThresholdTradingDays": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleThresholdTradingDays",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Convertible, Threshold Trading Days",
        "terseLabel": "Notes threshold trading days",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtInstrumentExchangeAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtInstrumentExchangeAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Intrument Exchange Amount",
        "label": "Debt Instrument Exchange Amount",
        "documentation": "Debt Instrument Exchange Amount"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtInstrumentExchangedAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtInstrumentExchangedAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt instrument exchanged amount",
        "label": "Debt Instrument Exchanged Amount",
        "documentation": "Debt Instrument Exchanged Amount"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtInstrumentExchangedAmountCancelled": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtInstrumentExchangedAmountCancelled",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt istrument cancelled",
        "label": "Debt Instrument Exchanged Amount Cancelled",
        "documentation": "Debt instrument exchanged amount cancelled"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentFaceAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate principal amount",
        "label": "Debt Instrument, Face Amount",
        "verboseLabel": "Principal amount",
        "documentation": "Face (par) amount of debt instrument at time of issuance."
       }
      }
     },
     "auth_ref": [
      "r147",
      "r149",
      "r478",
      "r747",
      "r1007",
      "r1008"
     ]
    },
    "rgen_DebtInstrumentFaceAmountInCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtInstrumentFaceAmountInCash",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument Face Amount in Cash",
        "label": "Debt Instrument Face Amount in Cash",
        "documentation": "Debt Instrument Face Amount in Cash"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtInstrumentFaceAmountRemaining": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtInstrumentFaceAmountRemaining",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt instrument face amount remaining",
        "label": "Debt Instrument Face Amount Remaining",
        "terseLabel": "Face amount of remaining convertible debt"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentFrequencyOfPeriodicPayment": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentFrequencyOfPeriodicPayment",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Frequency of Periodic Payment",
        "terseLabel": "Notes, frequency of periodic payment",
        "documentation": "Description of the frequency of periodic payments (monthly, quarterly, annual)."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r155"
     ]
    },
    "us-gaap_DebtInstrumentIncreaseAccruedInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentIncreaseAccruedInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Increase, Accrued Interest",
        "verboseLabel": "Accrued interest",
        "documentation": "Increase for accrued, but unpaid interest on the debt instrument for the period."
       }
      }
     },
     "auth_ref": [
      "r1153"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateDuringPeriod": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentInterestRateDuringPeriod",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Premium over sale price",
        "label": "Debt Instrument, Interest Rate During Period",
        "documentation": "The average effective interest rate during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r43",
      "r147",
      "r490"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Interest Rate, Effective Percentage",
        "terseLabel": "Effective interest rate on the Notes",
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium."
       }
      }
     },
     "auth_ref": [
      "r43",
      "r147",
      "r497",
      "r747"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "terseLabel": "Notes, interest rate",
        "verboseLabel": "Senior convertible notes",
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r43",
      "r479"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateTerms": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentInterestRateTerms",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Interest Rate Terms",
        "terseLabel": "Interest repayment terms",
        "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."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "rgen_DebtInstrumentIssuedForCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtInstrumentIssuedForCash",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Notes for cash",
        "label": "Debt Instrument Issued For Cash",
        "documentation": "Debt instrument issued for cash."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "Debt Instrument [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r324",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r747",
      "r1006",
      "r1007",
      "r1008",
      "r1009",
      "r1010",
      "r1153"
     ]
    },
    "us-gaap_DebtInstrumentMaturityDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentMaturityDate",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Maturity Date",
        "terseLabel": "Notes, due date",
        "documentation": "Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r261",
      "r1006",
      "r1234"
     ]
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Name [Domain]",
        "terseLabel": "Debt Instrument, Name [Domain]",
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r324",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r747",
      "r1006",
      "r1007",
      "r1008",
      "r1009",
      "r1010",
      "r1153"
     ]
    },
    "us-gaap_DebtInstrumentRedemptionPeriodAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentRedemptionPeriodAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Redemption, Period [Axis]",
        "terseLabel": "Debt Instrument, Redemption, Period [Axis]",
        "documentation": "Information about timing of debt redemption features under terms of the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r34"
     ]
    },
    "us-gaap_DebtInstrumentRedemptionPeriodDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentRedemptionPeriodDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Redemption, Period [Domain]",
        "terseLabel": "Debt Instrument, Redemption, Period [Domain]",
        "documentation": "Period as defined under terms of the debt agreement for debt redemption features."
       }
      }
     },
     "auth_ref": [
      "r34"
     ]
    },
    "us-gaap_DebtInstrumentRedemptionPricePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentRedemptionPricePercentage",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Redemption Price, Percentage",
        "terseLabel": "Notes redemption price",
        "documentation": "Percentage price of original principal amount of debt at which debt can be redeemed by the issuer."
       }
      }
     },
     "auth_ref": [
      "r34"
     ]
    },
    "us-gaap_DebtInstrumentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Long-Term Debt Instruments [Table]",
        "terseLabel": "Schedule of Long-term Debt Instruments [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r104",
      "r105",
      "r146",
      "r147",
      "r149",
      "r154",
      "r208",
      "r210",
      "r324",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r747",
      "r1006",
      "r1007",
      "r1008",
      "r1009",
      "r1010",
      "r1153"
     ]
    },
    "us-gaap_DebtInstrumentUnamortizedDiscount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentUnamortizedDiscount",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate debt discount",
        "totalLabel": "Debt Instrument, Unamortized Discount, Total",
        "label": "Debt Instrument, Unamortized Discount",
        "negatedLabel": "Unamortized debt discount",
        "documentation": "Amount, after accumulated amortization, of debt discount."
       }
      }
     },
     "auth_ref": [
      "r146",
      "r149",
      "r1189"
     ]
    },
    "rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash and cash equivalents, Amortized Costs",
        "documentation": "Debt securities held to maturity and cash and cash equivalents amortized costs.",
        "label": "Debt Securities Held to Maturity and Cash and Cash Equivalents Amortized Costs",
        "terseLabel": "Cash and cash equivalents, Amortized Costs"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt securities held to maturity and cash and cash equivalents estimated fair value.",
        "label": "Debt Securities Held to Maturity and Cash and Cash Equivalents Estimated Fair Value",
        "terseLabel": "Cash and cash equivalents, Estimated Fair Value"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtSecuritiesHeldToMaturityEstimatedFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtSecuritiesHeldToMaturityEstimatedFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Marketable securities, Estimated Fair Value",
        "label": "Debt Securities Held to Maturity Estimated Fair Value",
        "documentation": "Debt securities held to maturity estimated fair value."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtSecuritiesHeldToMaturityGrossUnrealizedGain": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtSecuritiesHeldToMaturityGrossUnrealizedGain",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail": {
       "parentTag": "rgen_DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Marketable securities, Gross Unrealized Gains",
        "label": "Debt Securities Held to Maturity Gross Unrealized Gain",
        "documentation": "Debt securities held to maturity gross unrealized gain."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DebtSecuritiesMaturityWithinOneYearAmortizedCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DebtSecuritiesMaturityWithinOneYearAmortizedCost",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt securities maturity within one year amortized cost",
        "label": "Debt Securities Maturity Within One Year Amortized Cost",
        "documentation": "Debt securities maturity within one year amortized cost."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Axis]",
        "terseLabel": "Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Axis]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r213",
      "r214"
     ]
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Compensation Arrangement with Individual, Postretirement Benefits [Line Items]",
        "terseLabel": "Deferred Compensation Arrangement with Individual, Postretirement Benefits [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]",
        "verboseLabel": "Prepaid Expenses and Other Current Assets",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredFinanceCostsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFinanceCostsNet",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Debt Issuance Costs, Net, Total",
        "label": "Debt Issuance Costs, Net",
        "negatedLabel": "Unamortized debt issuance costs",
        "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r1189"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax assets",
        "label": "Deferred Income Tax Assets, Net",
        "totalLabel": "Deferred Income Tax Assets, Net, Total",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r645",
      "r646"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Income Tax Expense (Benefit), Total",
        "label": "Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred income taxes, net",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r225",
      "r258",
      "r672",
      "r673",
      "r1155"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Tax Liabilities, Gross, Total",
        "label": "Deferred Tax Liabilities, Gross",
        "negatedTotalLabel": "Total deferred tax liabilities",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences."
       }
      }
     },
     "auth_ref": [
      "r164",
      "r165",
      "r239",
      "r659"
     ]
    },
    "rgen_DeferredIncomeTaxLiabilitiesFixedAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DeferredIncomeTaxLiabilitiesFixedAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred income tax liabilities, fixed assets.",
        "label": "Deferred Income Tax Liabilities, Fixed Assets",
        "terseLabel": "Fixed assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenue",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Revenue, Total",
        "label": "Deferred Revenue",
        "verboseLabel": "Deferred revenue (included in accrued liabilities and other noncurrent liabilities in the consolidated balance sheets)",
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r1141"
     ]
    },
    "us-gaap_DeferredRevenueCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenueCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Revenue, Current, Total",
        "label": "Deferred Revenue, Current",
        "terseLabel": "Deferred revenue",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1140"
     ]
    },
    "us-gaap_DeferredTaxAndOtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAndOtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax liabilities",
        "label": "Deferred Tax and Other Liabilities, Noncurrent",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences, with jurisdictional netting, and liabilities classified as noncurrent and other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Gross",
        "totalLabel": "Total deferred tax assets",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r660"
     ]
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsInventory",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Inventory",
        "terseLabel": "Inventory",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory."
       }
      }
     },
     "auth_ref": [
      "r117",
      "r1228"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "totalLabel": "Net deferred tax assets",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r1227"
     ]
    },
    "us-gaap_DeferredTaxAssetsNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsNetAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net [Abstract]",
        "terseLabel": "Deferred tax assets:"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DeferredTaxAssetsOperatingLeases": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DeferredTaxAssetsOperatingLeases",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Tax Assets Operating Leases.",
        "label": "Deferred Tax Assets Operating Leases",
        "terseLabel": "Operating leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Tax Assets, Operating Loss Carryforwards, Total",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "terseLabel": "Net operating loss carryforwards",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r117",
      "r1228"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxCreditCarryforwards",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Tax Assets, Tax Credit Carryforwards, Total",
        "label": "Deferred Tax Assets, Tax Credit Carryforwards",
        "terseLabel": "Business tax credit carryforwards",
        "documentation": "Amount, before allocation of a valuation allowances, of deferred tax assets attributable to deductible tax credit carryforwards including, but not limited to, research, foreign, general business, alternative minimum tax, and other deductible tax credit carryforwards."
       }
      }
     },
     "auth_ref": [
      "r116",
      "r117",
      "r1228"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxCreditCarryforwardsResearch",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Credit Carryforwards, Research",
        "terseLabel": "Capitalized research and development",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards."
       }
      }
     },
     "auth_ref": [
      "r116",
      "r117",
      "r1228"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost",
        "terseLabel": "Stock-based compensation expense",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation."
       }
      }
     },
     "auth_ref": [
      "r117",
      "r1228"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseOther",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Other",
        "terseLabel": "Other",
        "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."
       }
      }
     },
     "auth_ref": [
      "r117",
      "r1228"
     ]
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Tax Assets, Valuation Allowance, Total",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "negatedLabel": "Less: valuation allowance",
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized."
       }
      }
     },
     "auth_ref": [
      "r661"
     ]
    },
    "rgen_DeferredTaxImpactOnConversionFeature": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DeferredTaxImpactOnConversionFeature",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax impact on conversion feature",
        "label": "Deferred Tax Impact On Conversion Feature",
        "documentation": "Deferred tax impact on conversion feature."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Tax Liabilities, Net, Total",
        "label": "Deferred Tax Liabilities, Net",
        "negatedTotalLabel": "Total net deferred tax liabilities",
        "terseLabel": "Deferred Tax Liabilities",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r1227"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Gross [Abstract]",
        "terseLabel": "Deferred tax liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DeferredTaxLiabilitiesDebtDiscount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DeferredTaxLiabilitiesDebtDiscount",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Debt discount",
        "terseLabel": "Debt discount",
        "label": "Deferred Tax Liabilities, Debt discount",
        "documentation": "Deferred tax liabilities, debt discount."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Intangible Assets",
        "negatedLabel": "Acquired intangible assets",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill."
       }
      }
     },
     "auth_ref": [
      "r117",
      "r1228"
     ]
    },
    "rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DeferredTaxLiablitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DeferredTaxLiablitiesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Tax Liablities Member",
        "label": "Deferred tax liablities [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedBenefitPlanContributionsByEmployer": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanContributionsByEmployer",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Plan Assets, Contributions by Employer",
        "terseLabel": "Defined contribution plan, company contribution",
        "documentation": "Amount of contribution received by defined benefit plan from employer which increases plan assets."
       }
      }
     },
     "auth_ref": [
      "r544",
      "r553",
      "r590",
      "r1019",
      "r1020",
      "r1021",
      "r1022"
     ]
    },
    "rgen_DefinedContribution401KPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DefinedContribution401KPlanMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Defined Contribution 401 K Plan [Member]",
        "label": "Defined Contribution 401 K Plan [Member]",
        "terseLabel": "Defined Contribution 401 K Plan"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DefinedContributionPlanEmployeeEligibilityAge": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DefinedContributionPlanEmployeeEligibilityAge",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Depreciation",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Depreciation, Total",
        "label": "Depreciation",
        "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."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r93"
     ]
    },
    "us-gaap_DepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Depreciation, Depletion and Amortization, Nonproduction, Total",
        "label": "Depreciation, Depletion and Amortization, Nonproduction",
        "terseLabel": "Depreciation and amortization",
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r93"
     ]
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeContractTypeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Contract [Domain]",
        "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset."
       }
      }
     },
     "auth_ref": [
      "r876",
      "r879",
      "r893",
      "r894",
      "r895",
      "r897",
      "r898",
      "r899",
      "r900",
      "r902",
      "r903",
      "r904",
      "r905",
      "r921",
      "r922",
      "r923",
      "r924",
      "r927",
      "r928",
      "r929",
      "r930",
      "r950",
      "r951",
      "r952",
      "r953",
      "r1036",
      "r1038"
     ]
    },
    "us-gaap_DerivativeFixedInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeFixedInterestRate",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Discount Rate",
        "label": "Derivative, Fixed Interest Rate",
        "documentation": "Fixed interest rate related to the interest rate derivative."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeInstrumentRiskAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instrument [Axis]",
        "documentation": "Information by type of derivative contract."
       }
      }
     },
     "auth_ref": [
      "r133",
      "r134",
      "r136",
      "r137",
      "r876",
      "r879",
      "r893",
      "r894",
      "r895",
      "r897",
      "r898",
      "r899",
      "r900",
      "r902",
      "r903",
      "r904",
      "r905",
      "r921",
      "r922",
      "r923",
      "r924",
      "r927",
      "r928",
      "r929",
      "r930",
      "r950",
      "r951",
      "r952",
      "r953",
      "r995",
      "r1036",
      "r1038"
     ]
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DevelopedTechnologyRightsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Developed Technology Rights [Member]",
        "terseLabel": "Technology\u2014developed",
        "verboseLabel": "Developed technology",
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property."
       }
      }
     },
     "auth_ref": [
      "r228"
     ]
    },
    "rgen_DilutiveEffectOnSharesOfConversionPremium": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DilutiveEffectOnSharesOfConversionPremium",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dilutive effect on shares of conversion premium",
        "label": "Dilutive Effect On Shares Of Conversion Premium",
        "documentation": "Dilutive effect on shares of conversion premium."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DilutiveSecuritiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DilutiveSecuritiesAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dilutive Securities, Effect on Basic Earnings Per Share [Abstract]",
        "terseLabel": "Effect of dilutive securities:"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail2": {
       "parentTag": "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Dilutive securities effect on basic earnings per share contingent consideration.",
        "label": "Dilutive Securities Effect On Basic Earnings Per Share Contingent Consideration",
        "terseLabel": "Contingent consideration"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail2": {
       "parentTag": "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Dilutive securities effect on basic earnings per share convertible senior notes.",
        "label": "Dilutive Securities Effect On Basic Earnings Per Share Convertible Senior Notes",
        "verboseLabel": "Convertible Senior Notes"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DilutiveSharesEffectOnBasicEarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DilutiveSharesEffectOnBasicEarningsPerShareAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "DilutivesharesAbstract",
        "label": "Dilutive shares, Effect on Basic Earnings Per Share [Abstract]",
        "terseLabel": "Effect of dilutive shares:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisaggregationOfRevenueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Line Items]",
        "verboseLabel": "Disaggregation of Revenue [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r526",
      "r1012",
      "r1013",
      "r1014",
      "r1015",
      "r1016",
      "r1017",
      "r1018"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table]",
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r526",
      "r1012",
      "r1013",
      "r1014",
      "r1015",
      "r1016",
      "r1017",
      "r1018"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognitionTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table Text Block]",
        "verboseLabel": "Disaggregation of Revenue",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1191"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureTextBlockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Disclosure Text Block [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_DiscountRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "DiscountRate",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discount rate.",
        "label": "Discount Rate",
        "verboseLabel": "Discount rate"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r1051",
      "r1052",
      "r1065"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Financial Statement Error Correction [Flag]",
        "label": "Document Financial Statement Error Correction [Flag]",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r1051",
      "r1052",
      "r1065",
      "r1101"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r1086"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Documents Incorporated by Reference",
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r1049"
     ]
    },
    "us-gaap_DomesticCountryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DomesticCountryMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Domestic Tax Authority [Member]",
        "terseLabel": "Domestic Tax Authority",
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarliestTaxYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarliestTaxYearMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earliest Tax Year [Member]",
        "terseLabel": "Earliest Tax Year",
        "documentation": "Earliest identified tax year."
       }
      }
     },
     "auth_ref": [
      "r1226"
     ]
    },
    "us-gaap_EarlyRepaymentOfSeniorDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarlyRepaymentOfSeniorDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Early Repayment of Senior Debt",
        "terseLabel": "Repayment Of Senior Debt",
        "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."
       }
      }
     },
     "auth_ref": [
      "r58"
     ]
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]",
        "terseLabel": "Earnings per share:",
        "verboseLabel": "Earnings per share"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Earnings Per Share, Basic, Total",
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Basic",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r306",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r341",
      "r343",
      "r347",
      "r348",
      "r349",
      "r351",
      "r716",
      "r717",
      "r804",
      "r823",
      "r998"
     ]
    },
    "us-gaap_EarningsPerShareBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasicAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Basic [Abstract]",
        "terseLabel": "Denominator:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Earnings Per Share, Diluted, Total",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Diluted",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r306",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r343",
      "r347",
      "r348",
      "r349",
      "r351",
      "r716",
      "r717",
      "r804",
      "r823",
      "r998"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "terseLabel": "Earnings Per Share",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r69"
     ]
    },
    "rgen_EarnoutConsiderationEarned": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EarnoutConsiderationEarned",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnout consideration earned",
        "label": "Earnout Consideration Earned",
        "documentation": "Earnout consideration earned."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Effect of exchange rate changes on cash and cash equivalents",
        "totalLabel": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations, Total",
        "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r1236"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income tax provision",
        "verboseLabel": "Income tax provision",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r648"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Percent [Abstract]",
        "terseLabel": "Adjustments due to:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "verboseLabel": "Expected tax at statutory rate",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r321",
      "r648",
      "r675"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "terseLabel": "Change in valuation allowance",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r1225",
      "r1230"
     ]
    },
    "rgen_EffectiveIncomeTaxRateReconciliationDebtDiscount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationDebtDiscount",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt discount",
        "label": "Effective Income Tax Rate Reconciliation Debt discount",
        "documentation": "Effective income tax ratereconciliation debt discount."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt discount",
        "label": "Effective Income Tax Rate Reconciliation Debt Discount Percentage",
        "documentation": "Effective income tax rate reconciliation debt discount percentage."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationFdiiAmount",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Foreign-derived intangible income",
        "terseLabel": "Foreign-derived intangible income",
        "label": "Effective Income Tax Rate Reconciliation, FDII, Amount",
        "documentation": "Amount of reported income tax benefit from difference to expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to foreign-derived intangible income (FDII)."
       }
      }
     },
     "auth_ref": [
      "r1225"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationFdiiPercent",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Foreign-derived intangible income",
        "terseLabel": "Foreign-derived intangible income",
        "label": "Effective Income Tax Rate Reconciliation, FDII, Percent",
        "documentation": "Percentage of reported income tax benefit from difference to income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to foreign-derived intangible income (FDII)."
       }
      }
     },
     "auth_ref": [
      "r1225"
     ]
    },
    "rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationForeignExchangeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign exchange loss",
        "label": "Effective Income Tax Rate Reconciliation, Foreign Exchange Loss",
        "documentation": "Effective income tax rate reconciliation, foreign exchange loss."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign exchange loss",
        "label": "Effective Income Tax Rate Reconciliation, Foreign Exchange Loss, Percent",
        "documentation": "Effective Income Tax Rate Reconciliation, Foreign Exchange Loss, Percent"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent",
        "terseLabel": "Difference between U.S. and foreign tax",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1225",
      "r1230"
     ]
    },
    "rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchange": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationLossOnDebtExchange",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Loss on extinguishment of debt",
        "label": "Effective Income Tax Rate Reconciliation, Loss on Debt Exchange",
        "documentation": "Effective income tax rate reconciliation, loss on debt exchange."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Loss on extinguishment of debt",
        "label": "Effective Income Tax Rate Reconciliation, Loss on Debt Exchange, Percent",
        "documentation": "Effective income tax rate reconciliation, loss on debt exchange, percent"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective income tax rate reconciliation, nondeductible expense, contingent consideration,amount.",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Contingent consideration,Amount",
        "terseLabel": "Contingent consideration"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective income tax rate reconciliation, nondeductible expense,contingent consideration , percent.",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense,Contingent Consideration , Percent",
        "terseLabel": "Contingent consideration"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Percent",
        "terseLabel": "Stock-based compensation expense",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1225",
      "r1230"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent",
        "terseLabel": "Other",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments."
       }
      }
     },
     "auth_ref": [
      "r1225",
      "r1230"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Repatriation of Foreign Earnings, Percent",
        "verboseLabel": "U.S. taxation of foreign earnings",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1225",
      "r1230"
     ]
    },
    "rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "terseLabel": "State income and franchise tax",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r1225",
      "r1230"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxContingencies",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Effective Income Tax Rate Reconciliation, Tax Contingency, Percent, Total",
        "label": "Effective Income Tax Rate Reconciliation, Tax Contingency, Percent",
        "verboseLabel": "Uncertain tax provisions",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1225",
      "r1230"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCredits",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail2": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Effective Income Tax Rate Reconciliation, Tax Credit, Percent, Total",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Percent",
        "negatedLabel": "Business tax credits",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1225",
      "r1230"
     ]
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Employee-related Liabilities, Current, Total",
        "label": "Employee-related Liabilities, Current",
        "terseLabel": "Employee compensation",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]",
        "terseLabel": "Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount",
        "terseLabel": "Total unrecognized compensation cost",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r630"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Unrecognized compensation cost, weighted average remaining requisite service period",
        "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."
       }
      }
     },
     "auth_ref": [
      "r630"
     ]
    },
    "us-gaap_EmployeeSeveranceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeSeveranceMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Severance &amp; employee-related costs",
        "label": "Employee Severance [Member]",
        "documentation": "Termination of an employee associated with exit from or disposal of business activities or restructurings pursuant to a plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Employee Stock Option",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_EngineeredMoldingTechnologyLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "EngineeredMoldingTechnologyLlcMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Engineered Molding Technology LLC",
        "label": "Engineered Molding Technology LLC [Member]",
        "terseLabel": "Engineered Molding Technology LLC"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r1048"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss",
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans",
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited",
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity [Domain]",
        "terseLabel": "Entity [Domain]",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Emerging growth company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r1048"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities Act File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r1048"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r1126"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r1048"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r1048"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "terseLabel": "Smaller reporting company",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r1048"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r1048"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r1127"
     ]
    },
    "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from External Customer [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquipmentMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equipment [Member]",
        "documentation": "Tangible personal property used to produce goods and services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component [Domain]",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r267",
      "r300",
      "r301",
      "r302",
      "r325",
      "r326",
      "r327",
      "r329",
      "r337",
      "r339",
      "r353",
      "r393",
      "r399",
      "r513",
      "r631",
      "r632",
      "r633",
      "r668",
      "r669",
      "r698",
      "r700",
      "r701",
      "r702",
      "r703",
      "r705",
      "r715",
      "r736",
      "r737",
      "r738",
      "r739",
      "r740",
      "r741",
      "r768",
      "r834",
      "r835",
      "r836",
      "r856",
      "r933"
     ]
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]",
        "terseLabel": "Equity Valuation Assumption Difference, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1094"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis [Text Block]",
        "terseLabel": "Erroneous Compensation Analysis"
       }
      }
     },
     "auth_ref": [
      "r1057",
      "r1069",
      "r1079",
      "r1105"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]",
        "terseLabel": "Erroneously Awarded Compensation Recovery"
       }
      }
     },
     "auth_ref": [
      "r1054",
      "r1066",
      "r1076",
      "r1102"
     ]
    },
    "srt_EuropeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "EuropeMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Europe [Member]",
        "terseLabel": "Europe"
       }
      }
     },
     "auth_ref": [
      "r1266",
      "r1267",
      "r1268",
      "r1269"
     ]
    },
    "rgen_ExchangeAndSubscriptionAgreementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ExchangeAndSubscriptionAgreementsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exchange and Subscription Agreements",
        "label": "Exchange and Subscription Agreements [Member]",
        "documentation": "Exchange and subscription agreements."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ExchangeTransactionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ExchangeTransactionMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exchange Transaction",
        "label": "Exchange Transaction [Member]",
        "documentation": "Exchange Transaction [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ExchangedTwoZeroOneNineNotesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ExchangedTwoZeroOneNineNotesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exchanged 2019 Notes",
        "label": "Exchanged Two Zero One Nine Notes [Member]",
        "documentation": "Exchanged two zero one nine notes."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]",
        "terseLabel": "Executive Category:"
       }
      }
     },
     "auth_ref": [
      "r1100"
     ]
    },
    "srt_ExecutiveOfficerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ExecutiveOfficerMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Officer [Member]",
        "terseLabel": "Awards Granted to Executive Level Employees"
       }
      }
     },
     "auth_ref": [
      "r1162"
     ]
    },
    "us-gaap_ExtinguishmentOfDebtAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ExtinguishmentOfDebtAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Extinguished 2019 Notes",
        "label": "Extinguishment of Debt, Amount",
        "documentation": "Gross amount of debt extinguished."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_FacilityAndOtherExitCostsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FacilityAndOtherExitCostsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Facility and other exit costs",
        "label": "Facility and Other Exit Costs [Member]",
        "documentation": "Facility and other exit costs."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_FacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FacilityAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Facility Axis",
        "label": "Facility [Axis]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_FacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FacilityDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Facility Domain",
        "label": "Facility [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_FacilityExitAndOtherExitCostsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FacilityExitAndOtherExitCostsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Facility exit and other exit costs",
        "label": "Facility Exit and Other Exit Costs [Member]",
        "documentation": "Facility exit and other exit costs."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Line Items]",
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r720",
      "r721",
      "r725"
     ]
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Recurring and Nonrecurring [Table]",
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis."
       }
      }
     },
     "auth_ref": [
      "r720",
      "r721",
      "r725"
     ]
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Contingent Consideration Earnout Expect to be Required to Settle Include Significant Unobservable Inputs",
        "label": "Fair Value Measurement Inputs and Valuation Techniques [Table Text Block]",
        "documentation": "Tabular disclosure of input and valuation technique used to measure fair value and change in valuation approach and technique for each separate class of asset and liability measured on recurring and nonrecurring basis."
       }
      }
     },
     "auth_ref": [
      "r26"
     ]
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asset Class [Domain]",
        "documentation": "Class of asset."
       }
      }
     },
     "auth_ref": [
      "r27"
     ]
    },
    "us-gaap_FairValueByAssetClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueByAssetClassAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asset Class [Axis]",
        "documentation": "Information by class of asset."
       }
      }
     },
     "auth_ref": [
      "r139",
      "r141"
     ]
    },
    "us-gaap_FairValueByBalanceSheetGroupingTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueByBalanceSheetGroupingTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, by Balance Sheet Grouping [Table]",
        "documentation": "Disclosure of information about the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities."
       }
      }
     },
     "auth_ref": [
      "r139",
      "r142",
      "r143"
     ]
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Hierarchy and NAV [Axis]",
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient."
       }
      }
     },
     "auth_ref": [
      "r486",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r721",
      "r777",
      "r778",
      "r779",
      "r1007",
      "r1008",
      "r1019",
      "r1020",
      "r1021"
     ]
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueByMeasurementFrequencyAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Frequency [Axis]",
        "documentation": "Information by measurement frequency."
       }
      }
     },
     "auth_ref": [
      "r720",
      "r721",
      "r723",
      "r724",
      "r726"
     ]
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueDisclosuresTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Measurements",
        "label": "Fair Value Disclosures [Text Block]",
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information."
       }
      }
     },
     "auth_ref": [
      "r719"
     ]
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel1Member",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Level 1",
        "label": "Fair Value, Inputs, Level 1 [Member]",
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date."
       }
      }
     },
     "auth_ref": [
      "r486",
      "r553",
      "r558",
      "r721",
      "r777",
      "r1019",
      "r1020",
      "r1021"
     ]
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel3Member",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Level 3",
        "label": "Fair Value, Inputs, Level 3 [Member]",
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing."
       }
      }
     },
     "auth_ref": [
      "r486",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r721",
      "r779",
      "r1007",
      "r1008",
      "r1019",
      "r1020",
      "r1021"
     ]
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout",
        "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]",
        "documentation": "Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability."
       }
      }
     },
     "auth_ref": [
      "r27",
      "r141"
     ]
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementFrequencyDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Frequency [Domain]",
        "documentation": "Measurement frequency."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementPolicyPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Measurement, Policy [Policy Text Block]",
        "terseLabel": "Fair Value Measurement",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquisition date fair value of contingent consideration earnout",
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements",
        "documentation": "Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing."
       }
      }
     },
     "auth_ref": [
      "r140"
     ]
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Hierarchy and NAV [Domain]",
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value."
       }
      }
     },
     "auth_ref": [
      "r486",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r777",
      "r778",
      "r779",
      "r1007",
      "r1008",
      "r1019",
      "r1020",
      "r1021"
     ]
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementsRecurringMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value, Recurring",
        "label": "Fair Value, Recurring [Member]",
        "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value."
       }
      }
     },
     "auth_ref": [
      "r719",
      "r726"
     ]
    },
    "us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Net Derivative Asset (Liability) Measured on Recurring Basis, Unobservable Input Reconciliation [Table]",
        "documentation": "Disclosure of information about financial instrument classified as a derivative asset (liability) after deduction of derivative liability (asset) using recurring unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing."
       }
      }
     },
     "auth_ref": [
      "r27",
      "r32"
     ]
    },
    "rgen_FairValueOfEmbeddedConversionOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FairValueOfEmbeddedConversionOptionMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair value of embedded conversion option",
        "label": "Fair Value of Embedded Conversion Option [Member]",
        "documentation": "Fair value of embedded conversion option."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair value of shares of common stock issued for contingent consideration earnouts",
        "label": "Fair Value of Shares of Common Stock Issued for Contingent Consideration Earnouts",
        "documentation": "Fair value of shares of common stock issued for contingent consideration earnouts."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_FederalAndStateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FederalAndStateMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Federal and State [Member]",
        "label": "Federal and State [Member]",
        "terseLabel": "Federal and State"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FederalIncomeTaxExpenseBenefitContinuingOperations",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Federal Income Tax Expense (Benefit), Continuing Operations, Total",
        "label": "Federal Income Tax Expense (Benefit), Continuing Operations",
        "terseLabel": "Federal",
        "documentation": "Amount of current and deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current and deferred national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r319",
      "r647"
     ]
    },
    "rgen_FiltrationProductsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FiltrationProductsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Filtration Products [Member]",
        "label": "Filtration Products [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "verboseLabel": "Weighted Average Useful Life (in years)",
        "terseLabel": "Expected useful life",
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedLabel": "Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r278",
      "r445"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2029 and thereafter",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five",
        "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)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r201"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets Amortization Expense [Table Text Block]",
        "verboseLabel": "Schedule of Amortization Expense for Amortized Intangible Assets",
        "documentation": "Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2028",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r201"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2027",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r201"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r201"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r201"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r442",
      "r444",
      "r445",
      "r447",
      "r784",
      "r788"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail2": {
       "parentTag": "us-gaap_IntangibleAssetsGrossExcludingGoodwill",
       "weight": 1.0,
       "order": 0.0
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Finite-Lived Intangible Assets, Gross, Total",
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross Carrying Value",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r200",
      "r788"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r90"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail": {
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net Carrying Value",
        "periodEndLabel": "Finite-Lived Intangible Assets, Net, Ending Balance",
        "periodStartLabel": "Finite-Lived Intangible Assets, Net, Beginning Balance",
        "label": "Finite-Lived Intangible Assets, Net",
        "terseLabel": "Net Carrying Value",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r200",
      "r784"
     ]
    },
    "rgen_FiniteLivedIntangibleLiabilitiesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FiniteLivedIntangibleLiabilitiesLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "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]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_FlexbiosysIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FlexbiosysIncMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "FlexBiosys, Inc.",
        "terseLabel": "FlexBiosys, Inc.",
        "label": "FlexBiosys, Inc. [Member]",
        "documentation": "FlexBiosys, Inc."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]",
        "terseLabel": "Foreign Currency",
        "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."
       }
      }
     },
     "auth_ref": [
      "r735"
     ]
    },
    "rgen_ForeignEarningsSubjectToOneTimeTransitionTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ForeignEarningsSubjectToOneTimeTransitionTax",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignIncomeTaxExpenseBenefitContinuingOperations",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Foreign Income Tax Expense (Benefit), Continuing Operations, Total",
        "label": "Foreign Income Tax Expense (Benefit), Continuing Operations",
        "terseLabel": "Foreign",
        "documentation": "Amount of current and deferred foreign income tax expense (benefit) attributable to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r319"
     ]
    },
    "us-gaap_ForeignPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignPlanMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign Plan",
        "label": "Foreign Plan [Member]",
        "verboseLabel": "Sweden",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1195",
      "r1196",
      "r1197"
     ]
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount",
        "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r1061",
      "r1073",
      "r1083",
      "r1109"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount",
        "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r1061",
      "r1073",
      "r1083",
      "r1109"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount",
        "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r1061",
      "r1073",
      "r1083",
      "r1109"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]",
        "terseLabel": "Forgone Recovery, Explanation of Impracticability"
       }
      }
     },
     "auth_ref": [
      "r1061",
      "r1073",
      "r1083",
      "r1109"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r1061",
      "r1073",
      "r1083",
      "r1109"
     ]
    },
    "us-gaap_FurnitureAndFixturesGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FurnitureAndFixturesGross",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Furniture and Fixtures, Gross",
        "terseLabel": "Furniture, fixtures and office equipment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r203"
     ]
    },
    "rgen_FurnitureFixturesAndOfficeEquipmentMemberMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "FurnitureFixturesAndOfficeEquipmentMemberMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Furniture Fixtures And Office Equipment Member Member",
        "label": "Furniture Fixtures And Office Equipment Member [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainsLossesOnExtinguishmentOfDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainsLossesOnExtinguishmentOfDebt",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Loss on extinguishment of debt",
        "terseLabel": "Loss on extinguishment of debt",
        "verboseLabel": "Loss on conversion of debt",
        "totalLabel": "Gain (Loss) on Extinguishment of Debt, Total",
        "label": "Gain (Loss) on Extinguishment of Debt",
        "documentation": "Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r102",
      "r103"
     ]
    },
    "us-gaap_GeographicConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeographicConcentrationRiskMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographic Concentration Risk [Member]",
        "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa)."
       }
      }
     },
     "auth_ref": [
      "r73",
      "r970"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Goodwill, Total",
        "label": "Goodwill",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "terseLabel": "Goodwill",
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r277",
      "r429",
      "r801",
      "r1005",
      "r1033",
      "r1170",
      "r1177"
     ]
    },
    "us-gaap_GoodwillAcquiredDuringPeriod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAcquiredDuringPeriod",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill, Acquired During Period",
        "terseLabel": "Goodwill arising from Acquisition",
        "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."
       }
      }
     },
     "auth_ref": [
      "r433",
      "r1005"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]",
        "terseLabel": "Goodwill and Other Intangible Assets",
        "verboseLabel": "Goodwill and Other Intangible Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Goodwill and Intangible Assets",
        "documentation": "The entire disclosure for goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r198"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]",
        "verboseLabel": "Business Combinations, Goodwill and Intangible Assets",
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r83"
     ]
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill, Foreign Currency Translation Gain (Loss)",
        "negatedLabel": "Cumulative translation adjustment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r437"
     ]
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillImpairmentLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment to goodwill",
        "label": "Goodwill, Impairment Loss",
        "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r430",
      "r436",
      "r441",
      "r1005"
     ]
    },
    "us-gaap_GoodwillLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill [Line Items]",
        "terseLabel": "Goodwill [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r1005"
     ]
    },
    "us-gaap_GoodwillMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill [Member]",
        "verboseLabel": "Goodwill [Member]",
        "documentation": "Asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillPurchaseAccountingAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillPurchaseAccountingAdjustments",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Measurement period adjustments",
        "label": "Goodwill, Purchase Accounting Adjustments",
        "documentation": "Amount of increase (decrease) from adjustments after acquisition date under purchase accounting of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r1176"
     ]
    },
    "us-gaap_HeldToMaturitySecuritiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "HeldToMaturitySecuritiesCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Held-to-Maturity, Amortized Cost, before Allowance for Credit Loss, Current",
        "terseLabel": "Marketable securities held to maturity",
        "documentation": "Amount, before allowance for credit loss, of investment in debt security measured at amortized cost (held-to-maturity), classified as current."
       }
      }
     },
     "auth_ref": [
      "r387",
      "r1164",
      "r1166"
     ]
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r1051",
      "r1052",
      "r1065"
     ]
    },
    "us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOfIntangibleAssetsExcludingGoodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment of intangible assets",
        "label": "Impairment of Intangible Assets (Excluding Goodwill)",
        "totalLabel": "Impairment of Intangible Assets (Excluding Goodwill), Total",
        "documentation": "The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of an intangible asset (excluding goodwill) to fair value."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r33"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic",
        "terseLabel": "Domestic",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations."
       }
      }
     },
     "auth_ref": [
      "r320",
      "r674"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income before income taxes",
        "verboseLabel": "Income before income taxes",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r178",
      "r242",
      "r356",
      "r368",
      "r372",
      "r374",
      "r805",
      "r819",
      "r1000"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign",
        "terseLabel": "Foreign",
        "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."
       }
      }
     },
     "auth_ref": [
      "r320",
      "r674"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement Location [Axis]",
        "terseLabel": "Income Statement Location [Axis]",
        "documentation": "Information by location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r448",
      "r454",
      "r917"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement Location [Domain]",
        "terseLabel": "Income Statement Location [Domain]",
        "documentation": "Location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r454",
      "r917"
     ]
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Axis]",
        "terseLabel": "Income Tax Authority [Axis]",
        "documentation": "Information by tax jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r21"
     ]
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Domain]",
        "terseLabel": "Income Tax Authority [Domain]",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "Income Taxes",
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information."
       }
      }
     },
     "auth_ref": [
      "r321",
      "r640",
      "r649",
      "r656",
      "r663",
      "r670",
      "r676",
      "r678",
      "r679",
      "r852"
     ]
    },
    "us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Effects Allocated Directly to Equity, Equity Transactions",
        "terseLabel": "Equity",
        "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."
       }
      }
     },
     "auth_ref": [
      "r677",
      "r1231"
     ]
    },
    "us-gaap_IncomeTaxExaminationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExaminationLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Examination [Line Items]",
        "terseLabel": "Income Tax Examination [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxExaminationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExaminationTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Examination [Table]",
        "terseLabel": "Income Tax Examination [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r223"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 0.0
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income tax provision",
        "label": "Income Tax Expense (Benefit)",
        "totalLabel": "Total",
        "verboseLabel": "Income tax (benefit) provision",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r245",
      "r260",
      "r338",
      "r339",
      "r360",
      "r647",
      "r671",
      "r824"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Expense (Benefit), Effective Income Tax Rate Reconciliation, Amount [Abstract]",
        "terseLabel": "Adjustments due to:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income Taxes",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r299",
      "r643",
      "r644",
      "r656",
      "r657",
      "r662",
      "r664",
      "r846"
     ]
    },
    "rgen_IncomeTaxRateReconciliationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncomeTaxRateReconciliationLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "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]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_IncomeTaxRateReconciliationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncomeTaxRateReconciliationTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Tax Rate Reconciliation [Table]",
        "label": "Income Tax Rate Reconciliation [Table]",
        "terseLabel": "Income Tax Rate Reconciliation [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount",
        "terseLabel": "Change in valuation allowance",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1225"
     ]
    },
    "us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationForeignIncomeTaxRateDifferential",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount",
        "terseLabel": "Difference between U.S. and foreign tax",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r1225"
     ]
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount",
        "terseLabel": "Expected tax at statutory rate",
        "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."
       }
      }
     },
     "auth_ref": [
      "r648"
     ]
    },
    "rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Tax Reconciliation, Nondeductible Expense, Executive Compensation.",
        "label": "Income Tax Reconciliation Nondeductible Expense Executive Compensation",
        "verboseLabel": "Executive compensation"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Amount",
        "terseLabel": "Stock-based compensation expense",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1225"
     ]
    },
    "us-gaap_IncomeTaxReconciliationOtherReconcilingItems": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationOtherReconcilingItems",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 18.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount, Total",
        "label": "Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount",
        "terseLabel": "Other",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1225"
     ]
    },
    "us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationRepatriationOfForeignEarnings",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Repatriation of Foreign Earnings, Amount",
        "verboseLabel": "U.S. taxation of foreign earnings",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1225"
     ]
    },
    "rgen_IncomeTaxReconciliationReturnToProvisionAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncomeTaxReconciliationReturnToProvisionAdjustments",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State income tax",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r1225"
     ]
    },
    "us-gaap_IncomeTaxReconciliationTaxContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationTaxContingencies",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Effective Income Tax Rate Reconciliation, Tax Contingency, Amount, Total",
        "label": "Effective Income Tax Rate Reconciliation, Tax Contingency, Amount",
        "verboseLabel": "Uncertain tax provisions",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1225"
     ]
    },
    "us-gaap_IncomeTaxReconciliationTaxCredits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationTaxCredits",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Effective Income Tax Rate Reconciliation, Tax Credit, Amount, Total",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Amount",
        "negatedLabel": "Business tax credits",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1225"
     ]
    },
    "rgen_IncomeTaxesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncomeTaxesLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Taxes [Line Items]",
        "label": "Income Taxes [Line Items]",
        "terseLabel": "Income Taxes [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxesPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes Paid",
        "terseLabel": "Income tax paid",
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income."
       }
      }
     },
     "auth_ref": [
      "r60",
      "r63"
     ]
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income Taxes Paid, Net, Total",
        "label": "Income Taxes Paid, Net",
        "terseLabel": "Income taxes paid",
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes."
       }
      }
     },
     "auth_ref": [
      "r63"
     ]
    },
    "rgen_IncomeTaxesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncomeTaxesTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Taxes [Table]",
        "label": "Income Taxes [Table]",
        "terseLabel": "Income Taxes [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 18.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase (Decrease) in Accounts Payable, Total",
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "Accounts payable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Accounts receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 20.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase (Decrease) in Accrued Liabilities, Total",
        "label": "Increase (Decrease) in Accrued Liabilities",
        "verboseLabel": "Accrued expenses",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase (Decrease) in Inventories, Total",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities, excluding impact of acquisitions:"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_IncreaseDecreaseInOperatingLeaseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncreaseDecreaseInOperatingLeaseAsset",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase decrease in operating lease asset",
        "label": "Increase Decrease In Operating Lease Asset",
        "documentation": "Increase decrease in operating lease asset."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_IncreaseDecreaseInOperatingLeaseLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncreaseDecreaseInOperatingLeaseLiabilities",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingLeaseLiability",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 21.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Lease Liability",
        "terseLabel": "Operating lease liability",
        "documentation": "Amount of increase (decrease) in obligation for operating lease."
       }
      }
     },
     "auth_ref": [
      "r1135",
      "r1150"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 24.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Other Noncurrent Liabilities",
        "terseLabel": "Long-term liabilities",
        "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other assets",
        "label": "Increase (Decrease) in Other Operating Assets",
        "totalLabel": "Increase (Decrease) in Other Operating Assets, Total",
        "documentation": "Amount of increase (decrease) in operating assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase (Decrease) in Prepaid Expense and Other Assets, Total",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedLabel": "Prepaid expenses and other assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IncreasedecreaseInOperatingLeaseRightOfUseAsset",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IndefiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail2": {
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accumulated Amortization",
        "documentation": "Indefinite Lived Intangible Assets Accumulated Amortization",
        "label": "Indefinite Lived Intangible Assets Accumulated Amortization",
        "terseLabel": "Accumulated Amortization"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Indefinite-Lived Intangible Assets [Axis]",
        "terseLabel": "Indefinite-lived Intangible Assets [Axis]",
        "documentation": "Information by type or class of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit."
       }
      }
     },
     "auth_ref": [
      "r443",
      "r446"
     ]
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail2": {
       "parentTag": "us-gaap_IntangibleAssetsGrossExcludingGoodwill",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Indefinite-lived Intangible Assets (Excluding Goodwill), Ending Balance",
        "periodStartLabel": "Indefinite-lived Intangible Assets (Excluding Goodwill), Beginning Balance",
        "totalLabel": "Indefinite-lived Intangible Assets (Excluding Goodwill), Total",
        "label": "Indefinite-Lived Intangible Assets (Excluding Goodwill)",
        "verboseLabel": "Gross Carrying Value",
        "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit."
       }
      }
     },
     "auth_ref": [
      "r202"
     ]
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Indefinite-Lived Intangible Assets, Major Class Name [Domain]",
        "terseLabel": "Indefinite-lived Intangible Assets, Major Class Name [Domain]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r88",
      "r202"
     ]
    },
    "rgen_IndefiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IndefiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail": {
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indefinite Lived Intangible Assets Net",
        "label": "Indefinite Lived Intangible Assets Net",
        "verboseLabel": "Net Carrying Value"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]",
        "terseLabel": "Individual:"
       }
      }
     },
     "auth_ref": [
      "r1064",
      "r1073",
      "r1083",
      "r1100",
      "r1109",
      "r1113",
      "r1121"
     ]
    },
    "rgen_InflationReductionActOfTwoThousandTwentyTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "InflationReductionActOfTwoThousandTwentyTwoMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inflation reduction act of two thousand twenty two member.",
        "label": "Inflation Reduction Act Of Two Thousand Twenty Two [Member]",
        "terseLabel": "nflation Reduction Act Of Two Thousand Twenty Two"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]",
        "terseLabel": "Insider Trading Arrangements:"
       }
      }
     },
     "auth_ref": [
      "r1119"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]",
        "terseLabel": "Insider Trading Policies and Procedures:"
       }
      }
     },
     "auth_ref": [
      "r1053",
      "r1125"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted [Flag]",
        "terseLabel": "Insider Trading Policies and Procedures Adopted"
       }
      }
     },
     "auth_ref": [
      "r1053",
      "r1125"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]",
        "terseLabel": "Insider Trading Policies and Procedures Not Adopted"
       }
      }
     },
     "auth_ref": [
      "r1053",
      "r1125"
     ]
    },
    "us-gaap_IntangibleAssetsGrossExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsGrossExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail2": {
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross Carrying Value",
        "label": "Intangible Assets, Gross (Excluding Goodwill)",
        "terseLabel": "Gross Carrying Value",
        "documentation": "Amount before accumulated amortization of intangible assets, excluding goodwill."
       }
      }
     },
     "auth_ref": [
      "r277"
     ]
    },
    "rgen_IntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "IntangibleAssetsLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intangible Assets [Line Items]",
        "label": "Intangible Assets [Line Items]",
        "terseLabel": "Intangible Assets [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net Carrying Value",
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "terseLabel": "Intangible assets, net",
        "verboseLabel": "Net Carrying Value",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r89"
     ]
    },
    "us-gaap_InterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Interest Expense, Total",
        "label": "Interest Expense",
        "negatedLabel": "Interest expense",
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r244",
      "r303",
      "r359",
      "r745",
      "r918",
      "r1044",
      "r1261"
     ]
    },
    "us-gaap_InterestExpenseDebtExcludingAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestExpenseDebtExcludingAmortization",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Expense, Debt, Excluding Amortization",
        "terseLabel": "Contractual coupon interest",
        "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."
       }
      }
     },
     "auth_ref": [
      "r189",
      "r492",
      "r1009",
      "r1010"
     ]
    },
    "us-gaap_InterestOnConvertibleDebtNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestOnConvertibleDebtNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail": {
       "parentTag": "us-gaap_NetIncomeLossAttributableToParentDiluted",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest on Convertible Debt, Net of Tax",
        "terseLabel": "Charges associated with convertible debt instruments, net of tax",
        "documentation": "Amount, after tax, of interest recognized on convertible debt instrument excluding interest on principal required to be paid in cash."
       }
      }
     },
     "auth_ref": [
      "r342",
      "r345",
      "r349"
     ]
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "terseLabel": "Interest paid",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r311",
      "r313",
      "r314"
     ]
    },
    "rgen_InventoryAdjustmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "InventoryAdjustmentsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventory adjustments",
        "label": "Inventory Adjustments [Member]",
        "documentation": "Inventory adjustments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryCurrentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryCurrentTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Current [Table]",
        "terseLabel": "Inventory, Current [Table]",
        "documentation": "Disclosure of information about inventory expected to be sold or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Finished Goods, Net of Reserves",
        "terseLabel": "Finished products",
        "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."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r990"
     ]
    },
    "us-gaap_InventoryLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory [Line Items]",
        "terseLabel": "Inventory [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Net",
        "terseLabel": "Inventories, net",
        "totalLabel": "Total inventories, net",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r287",
      "r987",
      "r1033"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Policy [Policy Text Block]",
        "terseLabel": "Inventories",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r247",
      "r273",
      "r286",
      "r426",
      "r427",
      "r428",
      "r782",
      "r996"
     ]
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryRawMaterialsNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Raw Materials, Net of Reserves",
        "terseLabel": "Raw materials",
        "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."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r992"
     ]
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryWorkInProcessNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Work in Process, Net of Reserves",
        "terseLabel": "Work-in-process",
        "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."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r991"
     ]
    },
    "us-gaap_InvestmentIncomeNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentIncomeNet",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Investment Income, Net, Total",
        "label": "Investment Income, Net",
        "terseLabel": "Investment income",
        "documentation": "Amount after accretion (amortization) of discount (premium), and investment expense, of interest income and dividend income on nonoperating securities."
       }
      }
     },
     "auth_ref": [
      "r185",
      "r187"
     ]
    },
    "us-gaap_InvestmentTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Type [Axis]",
        "documentation": "Information by type of investments."
       }
      }
     },
     "auth_ref": [
      "r869",
      "r871",
      "r872",
      "r874",
      "r877",
      "r941",
      "r943",
      "r945",
      "r948",
      "r949",
      "r954",
      "r955",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r1038"
     ]
    },
    "us-gaap_InvestmentTypeCategorizationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentTypeCategorizationMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investments [Domain]",
        "documentation": "Asset obtained to generate income or appreciate in value."
       }
      }
     },
     "auth_ref": [
      "r869",
      "r871",
      "r872",
      "r874",
      "r877",
      "r941",
      "r943",
      "r945",
      "r948",
      "r949",
      "r954",
      "r955",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r1038"
     ]
    },
    "us-gaap_Land": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Land",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land",
        "terseLabel": "Land",
        "documentation": "Amount before accumulated depletion of real estate held for productive use, excluding land held for sale."
       }
      }
     },
     "auth_ref": [
      "r1139"
     ]
    },
    "us-gaap_LatestTaxYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LatestTaxYearMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Latest Tax Year [Member]",
        "terseLabel": "Latest Tax Year",
        "documentation": "Latest identified tax year."
       }
      }
     },
     "auth_ref": [
      "r1226"
     ]
    },
    "us-gaap_LeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease, Cost",
        "totalLabel": "Lease cost",
        "documentation": "Amount of lease cost recognized by lessee for lease contract."
       }
      }
     },
     "auth_ref": [
      "r757",
      "r1032"
     ]
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCostTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease, Cost [Table Text Block]",
        "verboseLabel": "Lease, Cost",
        "terseLabel": "Summary of Operating Lease Cost",
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income."
       }
      }
     },
     "auth_ref": [
      "r1240"
     ]
    },
    "rgen_LeaseIncentives": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "LeaseIncentives",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail2": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease incentives.",
        "label": "Lease Incentives",
        "terseLabel": "Less lease incentives",
        "negatedLabel": "Less lease incentives"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_LeaseObligationsNotYetCommenced": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "LeaseObligationsNotYetCommenced",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease obligations not yet commenced",
        "label": "Lease Obligations Not Yet Commenced",
        "documentation": "Lease obligations not yet commenced."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseholdImprovementsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseholdImprovementsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements, Gross",
        "terseLabel": "Leasehold improvements",
        "documentation": "Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r203"
     ]
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements [Member]",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r203"
     ]
    },
    "us-gaap_LeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_LegalEntityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LegalEntityAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss",
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans",
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited",
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity [Axis]",
        "terseLabel": "Legal Entity [Axis]",
        "documentation": "The set of legal entities associated with a report."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeaseDescriptionTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Table]",
        "documentation": "Disclosure of information about lessee's leases."
       }
      }
     },
     "auth_ref": [
      "r756"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease obligation terms",
        "label": "Lessee, Operating Lease, Lease Not yet Commenced, Term of Contract",
        "documentation": "Term of lessee's operating lease not yet commenced, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r1239"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]",
        "terseLabel": "Summary of Maturities of Operating Lease Liabilities",
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r1241"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "totalLabel": "Total future minimum lease payments",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2029 and thereafter",
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2024",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2028",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2027",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2026",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2025",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail2": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "verboseLabel": "Less amount of lease payment representing interest",
        "negatedLabel": "Less amount of lease payment representing interest",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Leases [Text Block]",
        "verboseLabel": "Leases",
        "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."
       }
      }
     },
     "auth_ref": [
      "r752"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities",
        "totalLabel": "Total liabilities",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r318",
      "r389",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r692",
      "r693",
      "r694",
      "r730",
      "r886",
      "r999",
      "r1046",
      "r1186",
      "r1246",
      "r1247"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and stockholders' equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r172",
      "r241",
      "r815",
      "r1033",
      "r1154",
      "r1165",
      "r1235"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "Liabilities and Stockholders' Equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current liabilities",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r272",
      "r318",
      "r389",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r692",
      "r693",
      "r694",
      "r730",
      "r1033",
      "r1186",
      "r1246",
      "r1247"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesFairValueDisclosure",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Balance at December 31, 2023",
        "periodStartLabel": "Balance at December 31, 2022",
        "terseLabel": "Liabilities, fair value",
        "verboseLabel": "Balance as of December 31, 2021",
        "label": "Liabilities, Fair Value Disclosure",
        "totalLabel": "Liabilities, Fair Value Disclosure, Total",
        "documentation": "Fair value of financial and nonfinancial obligations."
       }
      }
     },
     "auth_ref": [
      "r139"
     ]
    },
    "us-gaap_LiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total noncurrent liabilities",
        "label": "Liabilities, Noncurrent",
        "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r158",
      "r159",
      "r160",
      "r163",
      "r318",
      "r389",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r692",
      "r693",
      "r694",
      "r730",
      "r1186",
      "r1246",
      "r1247"
     ]
    },
    "us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LoansAndLeasesReceivableLeaseFinancingPolicy",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease Accounting",
        "label": "Loans and Leases Receivable, Lease Financing, Policy [Policy Text Block]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r232",
      "r233",
      "r234"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_LongTermContingentConsideration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "LongTermContingentConsideration",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-term contingent consideration.",
        "label": "Long Term Contingent Consideration",
        "terseLabel": "Long-term contingent consideration"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt",
        "terseLabel": "Notes, carrying value",
        "totalLabel": "Total convertible senior notes",
        "verboseLabel": "Total convertible senior notes",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r240",
      "r485",
      "r496",
      "r1007",
      "r1008",
      "r1256"
     ]
    },
    "us-gaap_LongTermDebtFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtFairValue",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt, Fair Value",
        "terseLabel": "Fair value of convertible senior notes",
        "verboseLabel": "Fair value of the note",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebtTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt [Text Block]",
        "terseLabel": "Convertible Senior Notes",
        "documentation": "The entire disclosure for long-term debt."
       }
      }
     },
     "auth_ref": [
      "r205"
     ]
    },
    "us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Category of Item Purchased [Axis]",
        "documentation": "Information by category of items purchased under a long-term purchase commitment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Purchase Commitment, Category of Item Purchased [Domain]",
        "documentation": "General description of the goods or services to be purchased from the counterparty to the long-term purchase commitment."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_LossOnDebtConversion": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "LossOnDebtConversion",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Loss on conversion of debt included in other expenses",
        "label": "Loss On Debt Conversion",
        "documentation": "Loss on debt conversion."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MachineryAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MachineryAndEquipmentGross",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Machinery and Equipment, Gross, Total",
        "label": "Machinery and Equipment, Gross",
        "terseLabel": "Equipment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r203"
     ]
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]",
        "terseLabel": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r378",
      "r1014",
      "r1191",
      "r1258",
      "r1259"
     ]
    },
    "rgen_ManufacturingLineExpansionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ManufacturingLineExpansionsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Manufacturing Line Expansions",
        "label": "Manufacturing Line Expansions [Member]",
        "documentation": "Manufacturing line expansions."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MarketableSecuritiesPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MarketableSecuritiesPolicy",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Investment Securities",
        "label": "Marketable Securities, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for investment classified as marketable security."
       }
      }
     },
     "auth_ref": [
      "r153"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "auth_ref": [
      "r465",
      "r466",
      "r467",
      "r468",
      "r595",
      "r781",
      "r831",
      "r878",
      "r879",
      "r942",
      "r944",
      "r946",
      "r947",
      "r956",
      "r981",
      "r982",
      "r1002",
      "r1011",
      "r1029",
      "r1035",
      "r1188",
      "r1248",
      "r1249",
      "r1250",
      "r1251",
      "r1252",
      "r1253"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]",
        "terseLabel": "Measure:"
       }
      }
     },
     "auth_ref": [
      "r1092"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r1092"
     ]
    },
    "rgen_MeasurementInputEarnoutDiscountRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "MeasurementInputEarnoutDiscountRateMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnout Discount Rate",
        "documentation": "Measurement Input Earnout Discount Rate.",
        "label": "Measurement Input Earnout Discount Rate [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MeasurementInputPriceVolatilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MeasurementInputPriceVolatilityMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Volatility",
        "label": "Measurement Input, Price Volatility [Member]",
        "documentation": "Measurement input using rate at which price of security will increase (decrease) for given set of returns."
       }
      }
     },
     "auth_ref": [
      "r1233"
     ]
    },
    "rgen_MeasurementInputProbabilityOfSuccessMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "MeasurementInputProbabilityOfSuccessMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Probability of Success",
        "documentation": "Measurement Input Probability of Success.",
        "label": "Measurement Input Probability of Success [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_MeasurementInputRevenueVolumeDiscountRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "MeasurementInputRevenueVolumeDiscountRateMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue and Volume Based Payments",
        "documentation": "Measurement Input Revenue &amp; Volume Discount Rate.",
        "label": "Measurement Input Revenue &amp; Volume Discount Rate [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MeasurementInputTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MeasurementInputTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Input Type [Axis]",
        "documentation": "Information by type of measurement input used to determine value of asset and liability."
       }
      }
     },
     "auth_ref": [
      "r722"
     ]
    },
    "us-gaap_MeasurementInputTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MeasurementInputTypeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Input Type [Domain]",
        "documentation": "Measurement input used to determine value of asset and liability."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_MetenovaHoldingAbMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "MetenovaHoldingAbMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Metenova Holding AB",
        "label": "Metenova Holding AB [Member]",
        "documentation": "Metenova Holding AB."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_MilliporeSigmaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "MilliporeSigmaMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Millipore Sigma.",
        "label": "Millipore Sigma [Member]",
        "terseLabel": "MilliporeSigma"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "auth_ref": [
      "r465",
      "r466",
      "r467",
      "r468",
      "r595",
      "r781",
      "r831",
      "r878",
      "r879",
      "r942",
      "r944",
      "r946",
      "r947",
      "r956",
      "r981",
      "r982",
      "r1002",
      "r1011",
      "r1029",
      "r1035",
      "r1188",
      "r1248",
      "r1249",
      "r1250",
      "r1251",
      "r1252",
      "r1253"
     ]
    },
    "us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MinorityInterestOwnershipPercentageByNoncontrollingOwners",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsidiary, Ownership Percentage, Noncontrolling Owner",
        "terseLabel": "Non controlling ownership interest minimum",
        "documentation": "The equity interest of noncontrolling shareholders, partners or other equity holders in consolidated entity."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]",
        "terseLabel": "MNPI Disclosure Timed for Compensation Value"
       }
      }
     },
     "auth_ref": [
      "r1112"
     ]
    },
    "rgen_ModificationOfDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ModificationOfDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Modification of debt",
        "label": "Modification of Debt",
        "documentation": "Modification of debt."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ModifiedTwoZeroOneNineNotesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ModifiedTwoZeroOneNineNotesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Modified 2019 Notes",
        "label": "Modified Two Zero One Nine Notes [Member]",
        "documentation": "Modified Two Zero One Nine Notes [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MoneyMarketFundsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MoneyMarketFundsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Money Market",
        "label": "Money Market Funds [Member]",
        "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities."
       }
      }
     },
     "auth_ref": [
      "r1193"
     ]
    },
    "rgen_MonteCarloSimulationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "MonteCarloSimulationMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Monte Carlo Simulation",
        "documentation": "Monte Carlo Simulation.",
        "label": "Monte Carlo Simulation [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement [Text Block]",
        "terseLabel": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r1120"
     ]
    },
    "rgen_NGLImpactAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NGLImpactAMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "NGL Impact A[Member]",
        "label": "NGL Impact A [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]",
        "terseLabel": "Customer [Domain]"
       }
      }
     },
     "auth_ref": [
      "r378",
      "r1014",
      "r1191",
      "r1258",
      "r1259"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote [Text Block]",
        "terseLabel": "Named Executive Officers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1093"
     ]
    },
    "us-gaap_NatureOfOperations": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NatureOfOperations",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nature of Operations [Text Block]",
        "terseLabel": "Organization and Nature of Business",
        "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."
       }
      }
     },
     "auth_ref": [
      "r249",
      "r262"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total cash provided by (used in) financing activities",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r312"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "Cash flows from financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Total cash used in investing activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r312"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Total cash provided by operating activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r191",
      "r192",
      "r193"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Cash flows from operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 0.0
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail": {
       "parentTag": "us-gaap_NetIncomeLossAttributableToParentDiluted",
       "weight": 1.0,
       "order": 0.0
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss)",
        "terseLabel": "Net Income (Loss)",
        "totalLabel": "Net income",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r179",
      "r193",
      "r243",
      "r270",
      "r294",
      "r297",
      "r302",
      "r318",
      "r328",
      "r332",
      "r333",
      "r334",
      "r335",
      "r338",
      "r339",
      "r346",
      "r356",
      "r368",
      "r372",
      "r374",
      "r389",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r717",
      "r730",
      "r820",
      "r909",
      "r931",
      "r932",
      "r1000",
      "r1044",
      "r1186"
     ]
    },
    "us-gaap_NetIncomeLossAttributableToParentDiluted": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLossAttributableToParentDiluted",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities",
        "label": "Net Income (Loss) Attributable to Parent, Diluted",
        "terseLabel": "Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent, and includes adjustments resulting from the assumption that dilutive convertible securities were converted, options or warrants were exercised, or that other shares were issued upon the satisfaction of certain conditions."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLossAvailableToCommonStockholdersBasicAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss) Available to Common Stockholders, Basic [Abstract]",
        "terseLabel": "Numerator:"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_NetWorkingCapitalExcludingCashAndInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NetWorkingCapitalExcludingCashAndInventory",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Net working capital excluding cash and inventory",
        "label": "Net working capital excluding cash and inventory",
        "terseLabel": "Net working capital (excluding cash and inventory step-up)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recent Accounting Standards Updates",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NewDateOfAnnualGoodwillImpairmentTest": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewDateOfAnnualGoodwillImpairmentTest",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment assessment date",
        "label": "New Date of Annual Goodwill Impairment Test",
        "documentation": "The new date of the annual goodwill impairment test."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_NewtonNewJerseyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NewtonNewJerseyMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Newton, New Jersey [Member]",
        "documentation": "Newton, New Jersey Member.",
        "terseLabel": "NTM"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_NonEmployeeDirectorStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NonEmployeeDirectorStockOptionMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non Employee Director Stock Option[Member]",
        "label": "Non Employee Director Stock Option[Member]",
        "terseLabel": "Non-Employee Directors"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_NonExecutiveMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NonExecutiveMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non-Executive [Member]",
        "label": "Non-Executive [Member]",
        "terseLabel": "Awards Granted to Non-Executive Level Employees"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description [Text Block]",
        "terseLabel": "Non-GAAP Measure Description"
       }
      }
     },
     "auth_ref": [
      "r1092"
     ]
    },
    "rgen_NonMetallicSolutionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NonMetallicSolutionsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non Metallic Solutions",
        "documentation": "Non-metallic solutions [Member].",
        "label": "Non Metallic Solutions [Member]",
        "verboseLabel": "NMS"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-NEOs [Member]",
        "terseLabel": "Non-NEOs"
       }
      }
     },
     "auth_ref": [
      "r1061",
      "r1073",
      "r1083",
      "r1100",
      "r1109"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount",
        "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r1090"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount",
        "terseLabel": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1089"
     ]
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO [Member]",
        "terseLabel": "Non-PEO NEO"
       }
      }
     },
     "auth_ref": [
      "r1100"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r1120"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r1120"
     ]
    },
    "rgen_NoncashInterestIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NoncashInterestIncome",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Non-cash interest income",
        "label": "Noncash Interest Income",
        "documentation": "Noncash interest income."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_NoncashInventoryAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NoncashInventoryAdjustments",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non cash inventory adjustment",
        "label": "Noncash Inventory Adjustments",
        "documentation": "The amount of non cash adjustments of inventory."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncompeteAgreementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncompeteAgreementsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncompete Agreements [Member]",
        "verboseLabel": "Non-compete agreements",
        "terseLabel": "Non-competition agreements",
        "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party."
       }
      }
     },
     "auth_ref": [
      "r128"
     ]
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other income (expenses), net",
        "label": "Nonoperating Income (Expense)",
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)."
       }
      }
     },
     "auth_ref": [
      "r186"
     ]
    },
    "us-gaap_NonrecurringAdjustmentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonrecurringAdjustmentAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonrecurring Adjustment [Axis]",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r30"
     ]
    },
    "us-gaap_NonrecurringAdjustmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonrecurringAdjustmentDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonrecurring Adjustment [Domain]",
        "documentation": "Material, nonrecurring adjustment(s) allocated (included) to (in) reported pro forma revenue and earnings (supplemental pro forma information)."
       }
      }
     },
     "auth_ref": [
      "r30"
     ]
    },
    "srt_NorthAmericaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "NorthAmericaMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "North America [Member]",
        "terseLabel": "North America"
       }
      }
     },
     "auth_ref": [
      "r1266",
      "r1267",
      "r1268",
      "r1269"
     ]
    },
    "us-gaap_NotesIssued1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NotesIssued1",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of 2023 Notes in exchange of 2019 Notes",
        "label": "Notes Issued",
        "documentation": "The fair value of notes issued in noncash investing and financing activities."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r65",
      "r66"
     ]
    },
    "rgen_NotesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NotesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exchanged 2019 Notes",
        "documentation": "Exchanged 2019 notes.",
        "label": "2019 Notes [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_NumberOfManufacturingSites": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NumberOfManufacturingSites",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureOrganizationAndNatureOfBusinessAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of manufacturing sites.",
        "label": "Number of Manufacturing Sites",
        "terseLabel": "Number of manufacturing sites"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfOperatingSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfOperatingSegments",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of operating segments",
        "label": "Number of Operating Segments",
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues."
       }
      }
     },
     "auth_ref": [
      "r1161"
     ]
    },
    "us-gaap_NumberOfReportingUnits": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfReportingUnits",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of reporting units",
        "label": "Number of Reporting Units",
        "documentation": "Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_NumberOfSharesBasicOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "NumberOfSharesBasicOutstanding",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail2": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares basic outstanding.",
        "label": "Number Of Shares Basic Outstanding",
        "verboseLabel": "Weighted average shares used in computing net income per share - basic"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "1.00% Convertible Senior Notes due 2028",
        "label": "One Point Zero Zero Percent Convertible Senior Notes Due Twenty Twenty Eight [Member]",
        "documentation": "One point zero zero percent convertible senior notes due twenty twenty eight."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OpenTaxYear": {
     "xbrltype": "gYearListItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OpenTaxYear",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Open Tax Year",
        "verboseLabel": "Fiscal year subject to examination",
        "documentation": "Tax year that remains open to examination under enacted tax laws, in YYYY format."
       }
      }
     },
     "auth_ref": [
      "r651"
     ]
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Income (Loss)",
        "totalLabel": "Income from operations",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r356",
      "r368",
      "r372",
      "r374",
      "r1000"
     ]
    },
    "us-gaap_OperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Cost",
        "terseLabel": "Operating lease cost",
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability."
       }
      }
     },
     "auth_ref": [
      "r758",
      "r1032"
     ]
    },
    "rgen_OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Minimum operating lease payments",
        "terseLabel": "Operating lease liabilities excluding control not conveyed leases",
        "label": "Operating Lease Liabilities Excluding Control not Conveyed Leases",
        "documentation": "Operating lease liabilities excluding control not conveyed leases."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail2": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease liabilities",
        "verboseLabel": "Minimum operating lease payments",
        "label": "Operating Lease, Liability",
        "totalLabel": "Minimum operating lease payments",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r754"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 0.0
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Current",
        "verboseLabel": "Operating lease liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r754"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease liability, long-term",
        "verboseLabel": "Noncurrent operating lease liability",
        "label": "Operating Lease, Liability, Noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r754"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Payments",
        "negatedLabel": "Operating lease cost",
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use."
       }
      }
     },
     "auth_ref": [
      "r755",
      "r759"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Operating lease right of use assets",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r753"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "verboseLabel": "Weighted average discount rate",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r762",
      "r1032"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "verboseLabel": "Weighted average remaining lease term (years)",
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r761",
      "r1032"
     ]
    },
    "us-gaap_OperatingLeasedAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeasedAssetsLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Leased Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Operating Loss Carryforwards, Total",
        "label": "Operating Loss Carryforwards",
        "terseLabel": "Net operating loss carry forwards",
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r116"
     ]
    },
    "rgen_OptionToPurchaseAdditionalDebtFaceAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "OptionToPurchaseAdditionalDebtFaceAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Option to purchase additional debt face amount.",
        "label": "Option to Purchase Additional Debt Face Amount",
        "verboseLabel": "Additional Notes issued"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_OptionToPurchaseCommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "OptionToPurchaseCommonStockMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Option To Purchase Common Stock [Member]",
        "label": "Option To Purchase Common Stock [Member]",
        "terseLabel": "Option To Purchase Common Stock"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Accrued Liabilities, Current",
        "terseLabel": "Other",
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail": {
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets, Current",
        "terseLabel": "Other",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r288",
      "r1033"
     ]
    },
    "us-gaap_OtherAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets [Member]",
        "documentation": "Primary financial statement caption encompassing other assets."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r138"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other noncurrent assets",
        "totalLabel": "Other Assets, Noncurrent, Total",
        "label": "Other Assets, Noncurrent",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r279"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Total",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "verboseLabel": "Foreign currency translation adjustment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent, Total",
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent",
        "terseLabel": "Other comprehensive loss",
        "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r22",
      "r230",
      "r295",
      "r298"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]",
        "terseLabel": "Other comprehensive income (loss):"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_OtherDirectorsOrOfficersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "OtherDirectorsOrOfficersMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other directors or officers",
        "label": "Other Directors Or Officers [Member]",
        "documentation": "Other directors or officers."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherInformationPertainingToIncomeTaxes": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherInformationPertainingToIncomeTaxes",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Information Pertaining to Income Taxes",
        "terseLabel": "Net operating loss and business tax credit carry forwards expiration date",
        "documentation": "Description of events or transactions pertaining to income taxes classified as other."
       }
      }
     },
     "auth_ref": [
      "r114"
     ]
    },
    "us-gaap_OtherIntangibleAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherIntangibleAssetsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Intangible Assets [Member]",
        "terseLabel": "Other intangibles",
        "documentation": "Intangible assets classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other noncurrent liabilities",
        "totalLabel": "Other Liabilities, Noncurrent, Total",
        "label": "Other Liabilities, Noncurrent",
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r46"
     ]
    },
    "us-gaap_OtherNoncashIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNoncashIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other Noncash Income (Expense), Total",
        "label": "Other Noncash Income (Expense)",
        "negatedLabel": "Other",
        "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other."
       }
      }
     },
     "auth_ref": [
      "r193"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other income (expenses)",
        "verboseLabel": "Other expenses",
        "totalLabel": "Other Nonoperating Income (Expense), Total",
        "label": "Other Nonoperating Income (Expense)",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r188"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncomeExpenseAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other income (expenses):",
        "label": "Other Nonoperating Income (Expense) [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure, Amount",
        "terseLabel": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r1092"
     ]
    },
    "us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Domain]",
        "terseLabel": "Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Domain]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r213",
      "r214"
     ]
    },
    "rgen_OtherProductsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "OtherProductsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other products [Member]",
        "label": "Other products [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount",
        "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1059",
      "r1071",
      "r1081",
      "r1107"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery Compensation Amount",
        "terseLabel": "Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1062",
      "r1074",
      "r1084",
      "r1110"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r1062",
      "r1074",
      "r1084",
      "r1110"
     ]
    },
    "rgen_OutstandingTwoZeroTwoThreeNotesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "OutstandingTwoZeroTwoThreeNotesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Outstanding 2023 Notes",
        "label": "Outstanding Two Zero Two Three Notes [Member]",
        "documentation": "Outstanding two zero two three notes."
       }
      }
     },
     "auth_ref": []
    },
    "srt_OwnershipAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "OwnershipAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Axis]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_OwnershipDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "OwnershipDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PatentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PatentsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patents [Member]",
        "terseLabel": "Patents",
        "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."
       }
      }
     },
     "auth_ref": [
      "r228"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1088"
     ]
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PayablesAndAccrualsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Payables and Accruals [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payment of earnout consideration",
        "terseLabel": "Payment of earnout consideration",
        "label": "Payment for Contingent Consideration Liability, Financing Activities",
        "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "us-gaap_PaymentsForProceedsFromOtherInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForProceedsFromOtherInvestingActivities",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments for (Proceeds from) Other Investing Activities",
        "terseLabel": "Other investing activities",
        "negatedLabel": "Other investing activities",
        "documentation": "Amount of cash (inflow) outflow from investing activities classified as other."
       }
      }
     },
     "auth_ref": [
      "r1129",
      "r1147"
     ]
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchase of common stock",
        "label": "Payments for Repurchase of Common Stock",
        "documentation": "The cash outflow to reacquire common stock during the period."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "us-gaap_PaymentsForRestructuring": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForRestructuring",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Amount Paid",
        "label": "Payments for Restructuring",
        "documentation": "Amount of cash payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation."
       }
      }
     },
     "auth_ref": [
      "r453",
      "r1149"
     ]
    },
    "us-gaap_PaymentsOfDebtIssuanceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsOfDebtIssuanceCosts",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payment of debt issuance costs",
        "terseLabel": "Payment of debt issuance costs",
        "label": "Payments of Debt Issuance Costs",
        "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt."
       }
      }
     },
     "auth_ref": [
      "r59"
     ]
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payment, Tax Withholding, Share-Based Payment Arrangement",
        "negatedLabel": "Payment of tax withholding obligation on vesting of restricted stock",
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r310"
     ]
    },
    "us-gaap_PaymentsToAcquireBusinessesGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireBusinessesGross",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Cash consideration",
        "terseLabel": "Upfront payment",
        "label": "Payments to Acquire Businesses, Gross",
        "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r688"
     ]
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Payments to Acquire Businesses, Net of Cash Acquired, Total",
        "label": "Payments to Acquire Businesses, Net of Cash Acquired",
        "terseLabel": "Acquisitions, net of cash acquired",
        "negatedLabel": "Acquisitions, net of cash acquired",
        "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase."
       }
      }
     },
     "auth_ref": [
      "r55"
     ]
    },
    "us-gaap_PaymentsToAcquireHeldToMaturitySecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireHeldToMaturitySecurities",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Held-to-Maturity Securities",
        "negatedLabel": "Purchase of marketable securities held to maturity",
        "documentation": "Amount of cash outflow through purchase of long-term held-to-maturity securities."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r386"
     ]
    },
    "us-gaap_PaymentsToAcquireIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireIntangibleAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Intangible Assets",
        "negatedLabel": "Purchase of intellectual property",
        "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill."
       }
      }
     },
     "auth_ref": [
      "r190"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Payments to Acquire Property, Plant, and Equipment, Total",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Purchases of property, plant and equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r190"
     ]
    },
    "us-gaap_PaymentsToAcquireSoftware": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireSoftware",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Software",
        "negatedLabel": "Additions to capitalized software costs",
        "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."
       }
      }
     },
     "auth_ref": [
      "r190"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote [Text Block]",
        "terseLabel": "Peer Group Issuers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1091"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount",
        "terseLabel": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r1091"
     ]
    },
    "us-gaap_PensionPlansDefinedBenefitMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PensionPlansDefinedBenefitMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Plan [Member]",
        "terseLabel": "Pension Plans, Defined Benefit",
        "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."
       }
      }
     },
     "auth_ref": [
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r596",
      "r1021",
      "r1022",
      "r1026",
      "r1027",
      "r1028"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount",
        "terseLabel": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1090"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO [Member]",
        "terseLabel": "PEO"
       }
      }
     },
     "auth_ref": [
      "r1100"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name",
        "terseLabel": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r1093"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount",
        "terseLabel": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1089"
     ]
    },
    "rgen_PercentOfExciseTaxOnNetStockRepurchases": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PercentOfExciseTaxOnNetStockRepurchases",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percent of excise tax on net stock repurchases.",
        "label": "Percent Of Excise Tax On Net Stock Repurchases",
        "terseLabel": "Percent of excise tax on net stock repurchases"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_PercentageOfCurrentFederalTaxExpenseBenefit": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PercentageOfCurrentFederalTaxExpenseBenefit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage Of Current Federal Tax Expense Benefit",
        "label": "Percentage Of Current Federal Tax Expense Benefit",
        "terseLabel": "Percentage of alternative minimum tax"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_PercentageOfSharesSubjectToForfeiture": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PercentageOfSharesSubjectToForfeiture",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of shares subject to forfeiture.",
        "label": "Percentage of Shares Subject to Forfeiture",
        "terseLabel": "Estimated forfeiture rates"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_PfizerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PfizerMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Pfizer Inc.",
        "terseLabel": "Pfizer",
        "documentation": "Pfizer member.",
        "label": "Pfizer [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1198",
      "r1199",
      "r1200",
      "r1201",
      "r1202",
      "r1203",
      "r1204",
      "r1205",
      "r1206",
      "r1207",
      "r1208",
      "r1209",
      "r1210",
      "r1211",
      "r1212",
      "r1213",
      "r1214",
      "r1215",
      "r1216",
      "r1217",
      "r1218",
      "r1219",
      "r1220",
      "r1221",
      "r1222",
      "r1223"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1198",
      "r1199",
      "r1200",
      "r1201",
      "r1202",
      "r1203",
      "r1204",
      "r1205",
      "r1206",
      "r1207",
      "r1208",
      "r1209",
      "r1210",
      "r1211",
      "r1212",
      "r1213",
      "r1214",
      "r1215",
      "r1216",
      "r1217",
      "r1218",
      "r1219",
      "r1220",
      "r1221",
      "r1222",
      "r1223"
     ]
    },
    "rgen_PolymemSAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PolymemSAMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Polymem S.A.",
        "documentation": "Polymem S.A. [Member]",
        "label": "Polymem S.A. [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PostemploymentBenefitsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PostemploymentBenefitsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Postemployment Benefits [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "terseLabel": "Preferred stock, par value",
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r499"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "Preferred stock, shares authorized",
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r888"
     ]
    },
    "us-gaap_PreferredStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesIssued",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Preferred Stock, Shares Issued, Total",
        "label": "Preferred Stock, Shares Issued",
        "terseLabel": "Preferred stock, shares issued",
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r499"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Preferred Stock, Shares Outstanding, Ending Balance",
        "periodStartLabel": "Preferred Stock, Shares Outstanding, Beginning Balance",
        "label": "Preferred Stock, Shares Outstanding",
        "terseLabel": "Preferred stock, shares outstanding",
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r888",
      "r907",
      "r1264",
      "r1265"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock, $0.01 par value, 5,000,000 shares authorized, no shares issued or outstanding",
        "periodEndLabel": "Preferred Stock, Value, Issued, Ending Balance",
        "periodStartLabel": "Preferred Stock, Value, Issued, Beginning Balance",
        "totalLabel": "Preferred Stock, Value, Issued, Total",
        "label": "Preferred Stock, Value, Issued",
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r811",
      "r1033"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expense and Other Assets, Current",
        "terseLabel": "Prepaid expenses and other current assets",
        "totalLabel": "Total prepaid expenses and other current assets",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r1142"
     ]
    },
    "rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PrepaidExpensesAndOtherCurrentAssetsLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "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]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_PrepaidExpensesAndOtherCurrentAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PrepaidExpensesAndOtherCurrentAssetsTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "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]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidInsurance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidInsurance",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail": {
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Insurance",
        "terseLabel": "Prepaid insurance",
        "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."
       }
      }
     },
     "auth_ref": [
      "r988",
      "r1003",
      "r1168"
     ]
    },
    "rgen_PrepaidServicesAndProfessionalFees": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PrepaidServicesAndProfessionalFees",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail": {
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Prepaid Services and Professional Fees",
        "label": "Prepaid Services and Professional Fees",
        "terseLabel": "Equipment maintenance and services"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidTaxes",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail": {
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prepaid income taxes",
        "label": "Prepaid Taxes",
        "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."
       }
      }
     },
     "auth_ref": [
      "r989",
      "r1004",
      "r1168"
     ]
    },
    "us-gaap_PrincipalOwnerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrincipalOwnerMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Principal Owner [Member]",
        "terseLabel": "Principal Owner",
        "documentation": "Owner of record or known beneficial owner of more than 10 percent of the voting interests of the entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrivatePlacementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrivatePlacementMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Private Placement",
        "label": "Private Placement [Member]",
        "documentation": "A private placement is a direct offering of securities to a limited number of sophisticated investors such as insurance companies, pension funds, mezzanine funds, stock funds and trusts."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ProbabilityOfSuccess": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ProbabilityOfSuccess",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Probability of Success",
        "documentation": "Probability of success.",
        "label": "Probability of Success"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ProbabilityWeightedPresentValueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ProbabilityWeightedPresentValueMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Probability Weighted Present Value",
        "label": "Probability-Weighted Present Value [Member]",
        "documentation": "Probability-weighted present value."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromConvertibleDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromConvertibleDebt",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from issuance of 2023 Convertible Senior Notes",
        "label": "Proceeds from Convertible Debt",
        "verboseLabel": "Proceeds from issuance of senior convertible notes, net of issuance costs",
        "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."
       }
      }
     },
     "auth_ref": [
      "r56"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Issuance of Common Stock",
        "terseLabel": "Net proceeds from public offering",
        "verboseLabel": "Proceeds from issuance of common stock, net of issuance costs",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Redemption of marketable securities",
        "label": "Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale",
        "documentation": "Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r308",
      "r309",
      "r1163"
     ]
    },
    "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromPaymentsForOtherFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other financing activities",
        "label": "Proceeds from (Payments for) Other Financing Activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities classified as other."
       }
      }
     },
     "auth_ref": [
      "r1130",
      "r1148"
     ]
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromStockOptionsExercised",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from exercise of stock options",
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r31"
     ]
    },
    "rgen_ProcessAnalyticsProductsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ProcessAnalyticsProductsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Process Analytics Products Member",
        "label": "Process Analytics Products [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product Revenue",
        "label": "Product [Member]",
        "verboseLabel": "Products",
        "documentation": "Article or substance produced by nature, labor or machinery."
       }
      }
     },
     "auth_ref": [
      "r1012"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r375",
      "r783",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830",
      "r984",
      "r1012",
      "r1034",
      "r1136",
      "r1184",
      "r1185",
      "r1191",
      "r1258"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]"
       }
      }
     },
     "auth_ref": [
      "r375",
      "r783",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830",
      "r984",
      "r1012",
      "r1034",
      "r1136",
      "r1184",
      "r1185",
      "r1191",
      "r1258"
     ]
    },
    "us-gaap_ProfessionalFees": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProfessionalFees",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Professional Fees",
        "terseLabel": "Spectrum Acquisition, tax preparation and other fees",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1044",
      "r1262",
      "r1263"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r16"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Property, Plant and Equipment, Gross, Ending Balance",
        "periodStartLabel": "Property, Plant and Equipment, Gross, Beginning Balance",
        "label": "Property, Plant and Equipment, Gross",
        "totalLabel": "Total property, plant and equipment",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r203",
      "r275",
      "r818"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Line Items]",
        "terseLabel": "Property, Plant and Equipment [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 0.0
      },
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Property, Plant and Equipment, Net, Ending Balance",
        "periodStartLabel": "Property, Plant and Equipment, Net, Beginning Balance",
        "label": "Property, Plant and Equipment, Net",
        "terseLabel": "Property, plant and equipment, net",
        "totalLabel": "Total property, plant and equipment, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r807",
      "r818",
      "r1033"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentOther",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Other, Gross",
        "verboseLabel": "Other",
        "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."
       }
      }
     },
     "auth_ref": [
      "r16"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "terseLabel": "Property, Plant &amp; Equipment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r254",
      "r257",
      "r816"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table Text Block]",
        "verboseLabel": "Property, Plant and Equipment",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r16"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Domain]",
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r203"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Useful Life",
        "terseLabel": "Estimated Useful Life",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant, and Equipment, Useful Life, Term, Description [Extensible Enumeration]",
        "label": "Property, Plant, and Equipment, Useful Life, Term, Description [Extensible Enumeration]",
        "documentation": "Indicates description of term of useful life for property, plant, and equipment when not stated as numeric value."
       }
      }
     },
     "auth_ref": [
      "r1180"
     ]
    },
    "rgen_ProteinsProductsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ProteinsProductsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Protein Products [Member]",
        "label": "Proteins Products [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ProvisionForDeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ProvisionForDeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Provision for Deferred Income Tax Expense (Benefit)",
        "label": "Provision for Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Credit Loss Expense (Reversal)",
        "terseLabel": "Current period change for expected credit losses",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r307",
      "r407"
     ]
    },
    "rgen_PuroliteMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "PuroliteMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purolite",
        "label": "Purolite [Member]",
        "documentation": "Purolite member."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1088"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance [Table Text Block]",
        "terseLabel": "Pay vs Performance Disclosure, Table"
       }
      }
     },
     "auth_ref": [
      "r1088"
     ]
    },
    "us-gaap_QuarterlyFinancialInformationDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "QuarterlyFinancialInformationDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly Financial Information Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_QuarterlyFinancialInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "QuarterlyFinancialInformationTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly Financial Information [Text Block]",
        "terseLabel": "Selected Quarterly Financial Data (Unaudited)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r195",
      "r352"
     ]
    },
    "rgen_RDAndCommercializationBasedPaymentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "RDAndCommercializationBasedPaymentsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "R D And Commercialization Based Payments",
        "documentation": "R&amp;D and Commercialization-based payments.",
        "label": "R&amp;D and Commercialization-based Payments [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Range [Axis]"
       }
      }
     },
     "auth_ref": [
      "r465",
      "r466",
      "r467",
      "r468",
      "r551",
      "r595",
      "r626",
      "r627",
      "r628",
      "r780",
      "r781",
      "r831",
      "r878",
      "r879",
      "r942",
      "r944",
      "r946",
      "r947",
      "r956",
      "r981",
      "r982",
      "r1002",
      "r1011",
      "r1029",
      "r1035",
      "r1038",
      "r1181",
      "r1188",
      "r1249",
      "r1250",
      "r1251",
      "r1252",
      "r1253"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]",
        "terseLabel": "Range [Domain]"
       }
      }
     },
     "auth_ref": [
      "r465",
      "r466",
      "r467",
      "r468",
      "r551",
      "r595",
      "r626",
      "r627",
      "r628",
      "r780",
      "r781",
      "r831",
      "r878",
      "r879",
      "r942",
      "r944",
      "r946",
      "r947",
      "r956",
      "r981",
      "r982",
      "r1002",
      "r1011",
      "r1029",
      "r1035",
      "r1038",
      "r1181",
      "r1188",
      "r1249",
      "r1250",
      "r1251",
      "r1252",
      "r1253"
     ]
    },
    "us-gaap_ReasonForChangeInDateOfAnnualGoodwillImpairmentTest": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReasonForChangeInDateOfAnnualGoodwillImpairmentTest",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reason for change in impairment assessment date",
        "label": "Reason for Change in Date of Annual Goodwill Impairment Test",
        "documentation": "The reason for any change to the date of the annual goodwill impairment test."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReconciliationOfAssetsFromSegmentToConsolidatedTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reconciliation of Assets from Segment to Consolidated [Table]",
        "terseLabel": "Reconciliation of Assets from Segment to Consolidated [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r80"
     ]
    },
    "us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reconciliation of Assets from Segment to Consolidated [Table Text Block]",
        "terseLabel": "Total Assets by Geographic Area",
        "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total assets from reportable segments to the entity's consolidated assets."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r80"
     ]
    },
    "rgen_ReconciliationOfBasicAndDilutedAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ReconciliationOfBasicAndDilutedAbstract",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reconciliation of basic and diluted.",
        "label": "Reconciliation of Basic and Diluted [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]",
        "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1054",
      "r1066",
      "r1076",
      "r1102"
     ]
    },
    "us-gaap_RelatedPartyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party, Type [Domain]",
        "terseLabel": "Related Party [Domain]",
        "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests."
       }
      }
     },
     "auth_ref": [
      "r576",
      "r772",
      "r773",
      "r881",
      "r882",
      "r883",
      "r884",
      "r885",
      "r906",
      "r908",
      "r940"
     ]
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Line Items]",
        "terseLabel": "Related Party Transaction [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r913",
      "r914",
      "r917"
     ]
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party, Type [Axis]",
        "terseLabel": "Related Party [Axis]",
        "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests."
       }
      }
     },
     "auth_ref": [
      "r576",
      "r772",
      "r773",
      "r789",
      "r790",
      "r791",
      "r792",
      "r793",
      "r794",
      "r795",
      "r796",
      "r797",
      "r798",
      "r799",
      "r800",
      "r881",
      "r882",
      "r883",
      "r884",
      "r885",
      "r906",
      "r908",
      "r940",
      "r1245"
     ]
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions Disclosure [Text Block]",
        "terseLabel": "Related Party Transactions",
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates."
       }
      }
     },
     "auth_ref": [
      "r769",
      "r770",
      "r771",
      "r773",
      "r775",
      "r853",
      "r854",
      "r855",
      "r915",
      "r916",
      "r917",
      "r937",
      "r939"
     ]
    },
    "srt_RepurchaseAgreementCounterpartyNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RepurchaseAgreementCounterpartyNameDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsDetailParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Domain]"
       }
      }
     },
     "auth_ref": [
      "r322",
      "r323",
      "r481",
      "r501",
      "r774",
      "r994",
      "r995"
     ]
    },
    "us-gaap_ResearchAndDevelopmentArrangementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentArrangementMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development Arrangement [Member]",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Research and Development Expense, Total",
        "label": "Research and Development Expense",
        "terseLabel": "Research and development",
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use."
       }
      }
     },
     "auth_ref": [
      "r157",
      "r639",
      "r1254"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpenseMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development Expense [Member]",
        "terseLabel": "Research and development",
        "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]",
        "terseLabel": "Restatement Determination Date:"
       }
      }
     },
     "auth_ref": [
      "r1055",
      "r1067",
      "r1077",
      "r1103"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date",
        "terseLabel": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r1056",
      "r1068",
      "r1078",
      "r1104"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Does Not Require Recovery [Text Block]",
        "terseLabel": "Restatement does not require Recovery"
       }
      }
     },
     "auth_ref": [
      "r1063",
      "r1075",
      "r1085",
      "r1111"
     ]
    },
    "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [Domain]",
        "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r274"
     ]
    },
    "rgen_RestrictedStockAndPerformanceStockUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "RestrictedStockAndPerformanceStockUnitsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted Stock Units and Performance Stock Units",
        "label": "Restricted Stock And Performance Stock Units [Member]",
        "documentation": "Restricted stock units and performance stock units."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Restricted Stock Units (RSUs)",
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestructuringAndRelatedActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringAndRelatedActivitiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Restructuring and Related Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringAndRelatedActivitiesDisclosureTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlan"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring Plan",
        "label": "Restructuring and Related Activities Disclosure [Text Block]",
        "documentation": "The entire disclosure for restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled."
       }
      }
     },
     "auth_ref": [
      "r450",
      "r451",
      "r453",
      "r456",
      "r462"
     ]
    },
    "us-gaap_RestructuringCharges": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringCharges",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring charges",
        "label": "Restructuring Charges",
        "totalLabel": "Restructuring Charges, Total",
        "documentation": "Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r457",
      "r459",
      "r1182"
     ]
    },
    "us-gaap_RestructuringCostAndReserveAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringCostAndReserveAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restructuring Type [Axis]",
        "documentation": "Information by type of restructuring cost."
       }
      }
     },
     "auth_ref": [
      "r452",
      "r453",
      "r459",
      "r460"
     ]
    },
    "us-gaap_RestructuringCostAndReserveLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringCostAndReserveLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restructuring Cost and Reserve [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r452",
      "r453",
      "r454",
      "r455",
      "r459",
      "r460",
      "r461"
     ]
    },
    "us-gaap_RestructuringCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring Costs",
        "label": "Restructuring Costs",
        "totalLabel": "Restructuring Costs, Total",
        "documentation": "Amount, after cash payment, of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "us-gaap_RestructuringReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringReserve",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring Liability",
        "label": "Restructuring Reserve",
        "periodEndLabel": "Restructuring Reserve, Ending Balance",
        "periodStartLabel": "Restructuring Reserve, Beginning Balance",
        "totalLabel": "Restructuring Reserve, Total",
        "documentation": "Carrying amount (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan."
       }
      }
     },
     "auth_ref": [
      "r453",
      "r458"
     ]
    },
    "us-gaap_RestructuringReserveSettledWithoutCash2": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringReserveSettledWithoutCash2",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Non-Cash Restructuring Items",
        "label": "Restructuring Reserve, Settled without Cash",
        "documentation": "Amount of decrease in the reserve for full or partial settlement through consideration other than cash."
       }
      }
     },
     "auth_ref": [
      "r453",
      "r460"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Retained Earnings (Accumulated Deficit), Ending Balance",
        "periodStartLabel": "Retained Earnings (Accumulated Deficit), Beginning Balance",
        "totalLabel": "Retained Earnings (Accumulated Deficit), Total",
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Accumulated earnings",
        "verboseLabel": "Cumulative effect of accounting changes",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r169",
      "r211",
      "r814",
      "r838",
      "r843",
      "r851",
      "r889",
      "r1033"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "verboseLabel": "Accumulated Earnings/(Deficit)",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r267",
      "r325",
      "r326",
      "r327",
      "r329",
      "r337",
      "r339",
      "r393",
      "r399",
      "r631",
      "r632",
      "r633",
      "r668",
      "r669",
      "r698",
      "r701",
      "r702",
      "r705",
      "r715",
      "r834",
      "r836",
      "r856",
      "r1264"
     ]
    },
    "us-gaap_RetirementPlanSponsorLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetirementPlanSponsorLocationAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Plan Sponsor Location [Axis]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r1195",
      "r1196",
      "r1197"
     ]
    },
    "us-gaap_RetirementPlanSponsorLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetirementPlanSponsorLocationDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Plan Sponsor Location [Domain]",
        "documentation": "Location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans."
       }
      }
     },
     "auth_ref": [
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r1195",
      "r1196",
      "r1197"
     ]
    },
    "us-gaap_RetirementPlanTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetirementPlanTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Plan Type [Axis]",
        "terseLabel": "Retirement Plan Type [Axis]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r596",
      "r1021",
      "r1022",
      "r1023",
      "r1024",
      "r1025",
      "r1026",
      "r1027",
      "r1028"
     ]
    },
    "us-gaap_RetirementPlanTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetirementPlanTypeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Plan Type [Domain]",
        "terseLabel": "Retirement Plan Type [Domain]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r596",
      "r1021",
      "r1022",
      "r1023",
      "r1024",
      "r1025",
      "r1026",
      "r1027",
      "r1028"
     ]
    },
    "rgen_RevenueAndVolumeBasedPaymentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "RevenueAndVolumeBasedPaymentsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue and Volume Based Payments",
        "documentation": "Revenue and volume based payments.",
        "label": "Revenue and Volume Based Payments [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_RevenueAndVolumeDiscountRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "RevenueAndVolumeDiscountRate",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue and volume discount rate",
        "documentation": "Revenue and volume discount rate.",
        "label": "Revenue and Volume Discount Rate"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_RevenueAndVolumeProjectionsPerformancePeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "RevenueAndVolumeProjectionsPerformancePeriod",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue and volume projections performance period.",
        "label": "Revenue And Volume Projections Performance Period",
        "terseLabel": "Performance period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer, Including Assessed Tax",
        "terseLabel": "Revenue",
        "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise."
       }
      }
     },
     "auth_ref": [
      "r357",
      "r358",
      "r367",
      "r370",
      "r371",
      "r375",
      "r376",
      "r378",
      "r525",
      "r526",
      "r783"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognition"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Text Block]",
        "verboseLabel": "Revenue Recognition",
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts."
       }
      }
     },
     "auth_ref": [
      "r263",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r528"
     ]
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRecognitionPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue [Policy Text Block]",
        "terseLabel": "Revenue Recognition",
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources."
       }
      }
     },
     "auth_ref": [
      "r911",
      "r983",
      "r997"
     ]
    },
    "us-gaap_RevenuesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenuesAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues [Abstract]",
        "terseLabel": "Revenue:"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_RgenFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "RgenFacilityAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rgen Facility [Axis]",
        "label": "Rgen Facility [Axis]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_RgenFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "RgenFacilityDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rgen Facility [Domain]",
        "label": "Rgen Facility [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Assets acquired under operating leases",
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r760",
      "r1032"
     ]
    },
    "us-gaap_RisksAndUncertaintiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RisksAndUncertaintiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Risks and Uncertainties [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RoyaltyExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RoyaltyExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Royalty Expense",
        "documentation": "Amount of expense related to royalty payments under a contractual arrangement such as payment for mineral and drilling rights and use of technology or intellectual property."
       }
      }
     },
     "auth_ref": [
      "r183"
     ]
    },
    "us-gaap_RoyaltyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RoyaltyMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Royalty and Other Income",
        "label": "Royalty [Member]",
        "verboseLabel": "Royalty and Other Revenue",
        "documentation": "Money for usage-based right to asset."
       }
      }
     },
     "auth_ref": [
      "r1192"
     ]
    },
    "rgen_Rule10B51ArrModifiedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "Rule10B51ArrModifiedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 10b5-1 Arrangement Modified",
        "label": "Rule 10b5 1 Arr Modified Flag",
        "documentation": "Rule 10b5 1 Arr modified flag."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r1120"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r1120"
     ]
    },
    "country_SE": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "SE",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SWEDEN",
        "terseLabel": "Sweden"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SaleOfStockNameOfTransactionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SaleOfStockNameOfTransactionDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of Stock [Domain]",
        "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Benchmark [Member]",
        "terseLabel": "Sales Revenue",
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r378",
      "r1131"
     ]
    },
    "rgen_SalesRevenuesGoodsNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "SalesRevenuesGoodsNetMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sales Revenues Goods Net.",
        "label": "Sales Revenues Goods Net [Member]",
        "terseLabel": "Total Revenue"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ScheduleOfAccruedLiabilitiesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfAccruedLiabilitiesLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail"
     ],
     "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]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ScheduleOfAccruedLiabilitiesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfAccruedLiabilitiesTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Accrued Liabilities [Table]",
        "label": "Schedule of Accrued Liabilities [Table]",
        "terseLabel": "Schedule of Accrued Liabilities [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Accrued Liabilities [Table Text Block]",
        "verboseLabel": "Accrued Liabilities",
        "documentation": "Tabular disclosure of the components of accrued liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]",
        "terseLabel": "Summary of Changes in Accumulated Other Comprehensive Income (Loss)",
        "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r1237",
      "r1238"
     ]
    },
    "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]",
        "terseLabel": "Schedule of Identified Intangible Assets and Estimated Useful Lives",
        "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."
       }
      }
     },
     "auth_ref": [
      "r86"
     ]
    },
    "rgen_ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the fair value held to maturity securities by contractual maturity.",
        "label": "Schedule Of Amortized Cost and Fair Value Debt Securities Held to Maturity [Table Text Block]",
        "terseLabel": "Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r123",
      "r683"
     ]
    },
    "rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "terseLabel": "Income Tax Provision (Benefit)",
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years."
       }
      }
     },
     "auth_ref": [
      "r222"
     ]
    },
    "us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Compensation Arrangement with Individual, Postretirement Benefits [Table]",
        "terseLabel": "Schedule of Deferred Compensation Arrangement with Individual, Postretirement Benefits [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r213",
      "r214"
     ]
    },
    "rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "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]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "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]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "terseLabel": "Consolidated Deferred Tax Assets (Liabilities)",
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r221"
     ]
    },
    "rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables"
     ],
     "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 Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "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]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule Of Earnings Per Share Basic And Diluted [Table]",
        "documentation": "Schedule Of Earnings Per Share Basic And Diluted [Table]",
        "label": "Schedule Of Earnings Per Share Basic And Diluted [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Reconciliation of Basic and Diluted Shares Amounts",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r1160"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "terseLabel": "Reconciliation of Federal Statutory Rate to Effective Income Tax Rate",
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r220"
     ]
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]",
        "terseLabel": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]",
        "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements."
       }
      }
     },
     "auth_ref": [
      "r110"
     ]
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "terseLabel": "Stock-Based Compensation Expense",
        "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."
       }
      }
     },
     "auth_ref": [
      "r110"
     ]
    },
    "us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r82"
     ]
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from External Customers by Products and Services [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r81"
     ]
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from External Customers by Products and Services [Table Text Block]",
        "terseLabel": "Summary of Product Revenues by Product Line",
        "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."
       }
      }
     },
     "auth_ref": [
      "r81"
     ]
    },
    "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis",
        "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]",
        "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)."
       }
      }
     },
     "auth_ref": [
      "r720",
      "r721"
     ]
    },
    "rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Schedule of Intangible Assets",
        "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]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Identified Intangible Assets and Estimated Useful Lives",
        "label": "Schedule of Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table Text Block]",
        "documentation": "Tabular disclosure of finite-lived intangible assets acquired as part of a business combination or through an asset purchase, by major class and in total, including the value of the asset acquired, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period."
       }
      }
     },
     "auth_ref": [
      "r86"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]",
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r90",
      "r784"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfGoodwillTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Goodwill [Table]",
        "terseLabel": "Schedule of Goodwill [Table]",
        "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons."
       }
      }
     },
     "auth_ref": [
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r1005"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfGoodwillTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Goodwill [Table Text Block]",
        "verboseLabel": "Changes in Carrying Value of Goodwill",
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule."
       }
      }
     },
     "auth_ref": [
      "r1005",
      "r1169",
      "r1170",
      "r1171",
      "r1172",
      "r1173",
      "r1174",
      "r1175",
      "r1176",
      "r1177",
      "r1178",
      "r1179"
     ]
    },
    "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]",
        "terseLabel": "Income Before Income Taxes",
        "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions."
       }
      }
     },
     "auth_ref": [
      "r1155"
     ]
    },
    "rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfIncomeBeforeIncomeTaxLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail"
     ],
     "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]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ScheduleOfIncomeBeforeIncomeTaxTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfIncomeBeforeIncomeTaxTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail"
     ],
     "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]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ScheduleOfIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfIntangibleAssetsTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsDetailParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Intangible Assets [Table]",
        "label": "Schedule of Intangible Assets [Table]",
        "terseLabel": "Schedule of Intangible Assets [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "verboseLabel": "Inventories",
        "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."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r173",
      "r174",
      "r175"
     ]
    },
    "rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table]",
        "terseLabel": "Property, Plant and Equipment [Table]",
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r16"
     ]
    },
    "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly Financial Information [Table Text Block]",
        "terseLabel": "Consolidated Statements of Operations Information for Each of Previous Eight Quarters",
        "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."
       }
      }
     },
     "auth_ref": [
      "r248"
     ]
    },
    "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]",
        "terseLabel": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed",
        "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."
       }
      }
     },
     "auth_ref": [
      "r227"
     ]
    },
    "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Related Party Transactions, by Related Party [Table]",
        "terseLabel": "Schedule Of Related Party [Table]",
        "documentation": "Schedule of quantitative and qualitative information pertaining to related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates."
       }
      }
     },
     "auth_ref": [
      "r150",
      "r151",
      "r913",
      "r914",
      "r917"
     ]
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRestructuringAndRelatedCostsTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Restructuring and Related Costs [Table]",
        "documentation": "Table presenting the description of the restructuring costs, such as the expected cost; the costs incurred during the period; the cumulative costs incurred as of the balance sheet date; the income statement caption within which the restructuring charges recognized for the period are included; and the amount of and periodic changes to an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost by type of restructuring."
       }
      }
     },
     "auth_ref": [
      "r452",
      "r453",
      "r454",
      "r455",
      "r459",
      "r460",
      "r461"
     ]
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRestructuringAndRelatedCostsTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Activity Related to Restructuring Plan",
        "label": "Restructuring and Related Costs [Table Text Block]",
        "documentation": "Tabular disclosure of costs incurred for restructuring including, but not limited to, exit and disposal activities, remediation, implementation, integration, asset impairment, and charges against earnings from the write-down of assets."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r97",
      "r98"
     ]
    },
    "us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Restructuring Activities by Type of Cost",
        "label": "Schedule of Restructuring Reserve by Type of Cost [Table Text Block]",
        "documentation": "Tabular disclosure of an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost. This element may also include a description of any reversal and other adjustment made during the period to the amount of an accrued liability for restructuring activities. This element may be used to encapsulate the roll forward presentations of an entity's restructuring reserve by type of cost and in total, and explanation of changes that occurred in the period."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r99"
     ]
    },
    "us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]",
        "terseLabel": "Percentage of Revenue from Significant Customers",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r598",
      "r600",
      "r601",
      "r602",
      "r603",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]",
        "terseLabel": "Summary of Restricted Stock Unit Activity",
        "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year."
       }
      }
     },
     "auth_ref": [
      "r108"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]",
        "terseLabel": "Summary of Option Activity",
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r29",
      "r108"
     ]
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]",
        "terseLabel": "Estimated Weighted Average Assumptions",
        "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."
       }
      }
     },
     "auth_ref": [
      "r219"
     ]
    },
    "rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]",
        "terseLabel": "Percentage by Geographic Area or Significant Customers",
        "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."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r71",
      "r74",
      "r75",
      "r144",
      "r231"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r1047"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r1050"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]",
        "terseLabel": "Geographical [Domain]"
       }
      }
     },
     "auth_ref": [
      "r376",
      "r377",
      "r870",
      "r873",
      "r875",
      "r943",
      "r945",
      "r949",
      "r957",
      "r972",
      "r973",
      "r974",
      "r975",
      "r976",
      "r977",
      "r978",
      "r979",
      "r980",
      "r985",
      "r1013",
      "r1038",
      "r1191",
      "r1258"
     ]
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingAssetReconcilingItemLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingAssetReconcilingItemLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting, Asset Reconciling Item [Line Items]",
        "terseLabel": "Segment Reporting, Asset Reconciling Item [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingPolicyPolicyTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting, Policy [Policy Text Block]",
        "terseLabel": "Segment Reporting",
        "documentation": "Disclosure of accounting policy for segment reporting."
       }
      }
     },
     "auth_ref": [
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r376",
      "r1001"
     ]
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Selling, General and Administrative Expense, Total",
        "label": "Selling, General and Administrative Expense",
        "terseLabel": "Selling, general and administrative",
        "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."
       }
      }
     },
     "auth_ref": [
      "r184"
     ]
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingGeneralAndAdministrativeExpensesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling, General and Administrative Expenses [Member]",
        "terseLabel": "Selling, general and administrative",
        "documentation": "Primary financial statement caption encompassing selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "totalLabel": "Share-based Payment Arrangement, Noncash Expense, Total",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Incentive options, vesting period",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period",
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition."
       }
      }
     },
     "auth_ref": [
      "r1030"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "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)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedLabel": "Shares, Forfeited/cancelled",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r618"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted Average, Forfeited/Cancelled",
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event."
       }
      }
     },
     "auth_ref": [
      "r618"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Shares Awarded",
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r616"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "verboseLabel": "Weighted Average, Awarded",
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r616"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Shares, Unvested at December 31, 2023",
        "periodStartLabel": "Shares, Unvested at December 31, 2022",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "terseLabel": "Restricted stock units, outstanding",
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r613",
      "r614"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "terseLabel": "Options Outstanding",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Weighted Average, Unvested at December 31, 2023",
        "periodStartLabel": "Weighted Average, Unvested at December 31,2022",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r613",
      "r614"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r218"
     ]
    },
    "rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares, Vested and expected to vest at December 31, 2023",
        "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"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vested and expected to vest at December 31, 2021",
        "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"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average, Vested and expected to vest at December 31, 2023",
        "documentation": "Share based compensation arrangement by share based payment award equity instruments other than options vested and expected to vest outstanding weighted average grant date fair value.",
        "label": "Share Based Compensation Arrangement by Share Based Payment Award Equity Instruments Other Than Options Vested and Expected to Vest Outstanding Weighted Average Grant Date Fair Value"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedLabel": "Shares, Vested",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r617"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r620"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted Average, Vested",
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement."
       }
      }
     },
     "auth_ref": [
      "r617"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate",
        "terseLabel": "Expected dividend yield",
        "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."
       }
      }
     },
     "auth_ref": [
      "r627"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum",
        "terseLabel": "Expected volatility (range), maximum",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum",
        "terseLabel": "Expected volatility (range), minimum",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum",
        "terseLabel": "Risk-free interest rate, maximum",
        "documentation": "The maximum risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum",
        "terseLabel": "Risk-free interest rate, minimum",
        "documentation": "The minimum risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r598",
      "r600",
      "r601",
      "r602",
      "r603",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant",
        "terseLabel": "Incentive options, vesting period",
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable."
       }
      }
     },
     "auth_ref": [
      "r107"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "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)"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Options exercisable at December 31, 2023 | shares",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number",
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan."
       }
      }
     },
     "auth_ref": [
      "r607"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Options exercisable at December 31, 2023",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r607"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "terseLabel": "Aggregate intrinsic value of stock options exercised",
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares."
       }
      }
     },
     "auth_ref": [
      "r620"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTotalLabel": "Forfeited/expired/cancelled | Shares",
        "terseLabel": "Forfeited/expired/cancelled | Shares",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period",
        "totalLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Total",
        "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired."
       }
      }
     },
     "auth_ref": [
      "r1204"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forfeited/expired/cancelled",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average price of options that were either forfeited or expired."
       }
      }
     },
     "auth_ref": [
      "r1204"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures, Total",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Net of Forfeitures",
        "terseLabel": "Granted | shares",
        "documentation": "Net number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r1205"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology."
       }
      }
     },
     "auth_ref": [
      "r619"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value",
        "terseLabel": "Options outstanding at December 31, 2020",
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding."
       }
      }
     },
     "auth_ref": [
      "r107"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Options outstanding at December 31, 2023 | shares",
        "periodStartLabel": "Options outstanding at December 31, 2022 | shares",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "terseLabel": "Stock options, outstanding",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r605",
      "r606"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]",
        "terseLabel": "Options Outstanding",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Options outstanding at December 31, 2023",
        "periodStartLabel": "Options outstanding at December 31, 2022",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "terseLabel": "Stock options, weighted average exercise price",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r605",
      "r606"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price",
        "terseLabel": "Vested and expected to vest at December 31, 2022",
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. 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."
       }
      }
     },
     "auth_ref": [
      "r622"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vested and expectd to vest at December 31, 2021",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value",
        "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."
       }
      }
     },
     "auth_ref": [
      "r621"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vested and expected to vest at December 31, 2021 | shares",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number",
        "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."
       }
      }
     },
     "auth_ref": [
      "r621"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Award Types",
        "terseLabel": "All Award Types",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r601",
      "r602",
      "r603",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "terseLabel": "Exercised",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r610"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "terseLabel": "Granted",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r609"
     ]
    },
    "us-gaap_ShareBasedCompensationAwardTrancheOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationAwardTrancheOneMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Tranche One [Member]",
        "terseLabel": "Vest Over Three Year",
        "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationAwardTrancheTwoMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Tranche Two [Member]",
        "terseLabel": "Vest Over Five Year",
        "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Policy Text Block]",
        "terseLabel": "Stock Based Compensation",
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost."
       }
      }
     },
     "auth_ref": [
      "r597",
      "r604",
      "r623",
      "r624",
      "r625",
      "r626",
      "r629",
      "r634",
      "r635",
      "r636",
      "r637"
     ]
    },
    "us-gaap_SharePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharePrice",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Share Price",
        "label": "Share Price",
        "terseLabel": "Closing price of common stock",
        "documentation": "Price of a single share of a number of saleable stocks of a company."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage",
        "terseLabel": "Incentive options, vesting percentage",
        "documentation": "Percentage of vesting of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1198"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Intrinsic value of outstanding award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Incentive options, term",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period",
        "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r1031"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term",
        "terseLabel": "Expected term (in years)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r625"
     ]
    },
    "rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Options exercisable at December 31, 2021",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value",
        "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."
       }
      }
     },
     "auth_ref": [
      "r107"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Options exercisable at December 31, 2021",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term",
        "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r107"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Options outstanding at December 31, 2020",
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r218"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vested and expected to vest at December 31, 2021",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term",
        "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."
       }
      }
     },
     "auth_ref": [
      "r621"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested in Period, Fair Value",
        "terseLabel": "Total fair value of stock options vested",
        "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."
       }
      }
     },
     "auth_ref": [
      "r620"
     ]
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares, Outstanding",
        "periodEndLabel": "Balance (in shares)",
        "periodStartLabel": "Balance (in shares)",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation",
        "terseLabel": "Tax withholding on vesting of restricted stock (in shares)",
        "negatedLabel": "Tax withholding on vesting of restricted stock (in shares)",
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ShortTermContingentConsideration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ShortTermContingentConsideration",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Short-term contingent consideration.",
        "label": "Short Term Contingent Consideration",
        "terseLabel": "Short-term contingent consideration"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermDebtTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Debt, Type [Axis]",
        "documentation": "Information by type of short-term debt arrangement."
       }
      }
     },
     "auth_ref": [
      "r38"
     ]
    },
    "us-gaap_ShortTermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermDebtTypeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Debt, Type [Domain]",
        "documentation": "Type of short-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing."
       }
      }
     },
     "auth_ref": [
      "r37"
     ]
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Accounting Policies [Text Block]",
        "terseLabel": "Summary of Significant Accounting Policies",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r194",
      "r316"
     ]
    },
    "us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Line Items]",
        "terseLabel": "Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table]",
        "terseLabel": "Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r224"
     ]
    },
    "rgen_SpectrumIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "SpectrumIncMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Spectrum Inc.",
        "documentation": "Spectrum Inc.",
        "label": "Spectrum Inc [Member]",
        "terseLabel": "Spectrum Inc."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StateAndLocalIncomeTaxExpenseBenefitContinuingOperations",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "State and Local Income Tax Expense (Benefit), Continuing Operations, Total",
        "label": "State and Local Income Tax Expense (Benefit), Continuing Operations",
        "terseLabel": "State",
        "documentation": "Amount of current and deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current and deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r1155",
      "r1224",
      "r1229"
     ]
    },
    "us-gaap_StateAndLocalJurisdictionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StateAndLocalJurisdictionMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State and Local Jurisdiction [Member]",
        "terseLabel": "State",
        "documentation": "Designated tax department of a state or local government entitled to levy and collect income taxes from the entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementClassOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementClassOfStockAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Axis]",
        "documentation": "Information by the different classes of stock of the entity."
       }
      }
     },
     "auth_ref": [
      "r264",
      "r281",
      "r282",
      "r283",
      "r318",
      "r343",
      "r344",
      "r347",
      "r349",
      "r354",
      "r355",
      "r389",
      "r469",
      "r471",
      "r472",
      "r473",
      "r476",
      "r477",
      "r499",
      "r500",
      "r503",
      "r506",
      "r512",
      "r730",
      "r847",
      "r848",
      "r849",
      "r850",
      "r856",
      "r857",
      "r858",
      "r859",
      "r860",
      "r861",
      "r862",
      "r863",
      "r864",
      "r865",
      "r866",
      "r868",
      "r888",
      "r910",
      "r933",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r1128",
      "r1152",
      "r1159"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "terseLabel": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r50",
      "r267",
      "r300",
      "r301",
      "r302",
      "r325",
      "r326",
      "r327",
      "r329",
      "r337",
      "r339",
      "r353",
      "r393",
      "r399",
      "r513",
      "r631",
      "r632",
      "r633",
      "r668",
      "r669",
      "r698",
      "r700",
      "r701",
      "r702",
      "r703",
      "r705",
      "r715",
      "r736",
      "r737",
      "r738",
      "r739",
      "r740",
      "r741",
      "r768",
      "r834",
      "r835",
      "r836",
      "r856",
      "r933"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "terseLabel": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r376",
      "r377",
      "r870",
      "r873",
      "r875",
      "r943",
      "r945",
      "r949",
      "r957",
      "r968",
      "r972",
      "r973",
      "r974",
      "r975",
      "r976",
      "r977",
      "r978",
      "r979",
      "r980",
      "r985",
      "r1013",
      "r1038",
      "r1191",
      "r1258"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss",
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions",
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited",
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "terseLabel": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r325",
      "r326",
      "r327",
      "r353",
      "r783",
      "r845",
      "r868",
      "r880",
      "r881",
      "r882",
      "r883",
      "r884",
      "r885",
      "r888",
      "r891",
      "r892",
      "r893",
      "r894",
      "r895",
      "r897",
      "r898",
      "r899",
      "r900",
      "r902",
      "r903",
      "r904",
      "r905",
      "r906",
      "r908",
      "r911",
      "r912",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r933",
      "r1039"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLoss",
      "http://www.repligencorp.com/20231231/taxonomy/role/AccumulatedOtherComprehensiveIncomeLossTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions",
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnaudited",
      "http://www.repligencorp.com/20231231/taxonomy/role/SelectedQuarterlyFinancialDataUnauditedTables",
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]",
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed."
       }
      }
     },
     "auth_ref": [
      "r325",
      "r326",
      "r327",
      "r353",
      "r783",
      "r845",
      "r868",
      "r880",
      "r881",
      "r882",
      "r883",
      "r884",
      "r885",
      "r888",
      "r891",
      "r892",
      "r893",
      "r894",
      "r895",
      "r897",
      "r898",
      "r899",
      "r900",
      "r902",
      "r903",
      "r904",
      "r905",
      "r906",
      "r908",
      "r911",
      "r912",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r933",
      "r1039"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method [Text Block]",
        "terseLabel": "Stock Price or TSR Estimation Method"
       }
      }
     },
     "auth_ref": [
      "r1058",
      "r1070",
      "r1080",
      "r1106"
     ]
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockAppreciationRightsSARSMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Appreciation Rights (SARs) [Member]",
        "terseLabel": "Stock Appreciation Rights (SARs)",
        "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssued1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssued1",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Fair value of shares of common stock issued for acquisitions",
        "label": "Stock Issued",
        "documentation": "The fair value of stock issued in noncash financing activities."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r65",
      "r66"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesAcquisitions",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, Acquisitions",
        "terseLabel": "Issuance of commons stock pursuant to the acquisition, (in shares)",
        "documentation": "Number of shares of stock issued during the period pursuant to acquisitions."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r167",
      "r211"
     ]
    },
    "rgen_StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of common stock pursuant to the Avitide, Inc.contingent consideration earnout payment (in shares)",
        "label": "Stock Issued During Period, Shares,Contingent Consideration Earnout Payments",
        "documentation": "Stock Issued During Period, shares,contingent consideration earnout payments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, Conversion of Convertible Securities",
        "verboseLabel": "Conversion of Convertible Securities Stock Issued | shares",
        "documentation": "Number of shares issued during the period as a result of the conversion of convertible securities."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r49",
      "r104",
      "r211",
      "r488"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesConversionOfUnits",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, Conversion of Units",
        "verboseLabel": "Issuance of common stock for debt conversion (in shares)",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r104",
      "r166",
      "r167",
      "r211"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, New Issues",
        "terseLabel": "Proceeds from issuance of common stock, net of issuance costs (in shares)",
        "documentation": "Number of new stock issued during the period."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r166",
      "r167",
      "r211",
      "r847",
      "r933",
      "r963"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture, Total",
        "label": "Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture",
        "terseLabel": "Exercise of stock options and vesting of stock units (in shares)",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r166",
      "r167",
      "r211"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period",
        "terseLabel": "Exercised number of shares",
        "negatedLabel": "Exercised | shares",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r166",
      "r167",
      "r211",
      "r610"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueAcquisitions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueAcquisitions",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Value, Acquisitions",
        "terseLabel": "Issuance of commons stock pursuant to the acquisition",
        "documentation": "Value of stock issued pursuant to acquisitions during the period."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r50",
      "r211"
     ]
    },
    "rgen_StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of common stock pursuant to the Avitide, Inc. contingent consideration earnout payment",
        "label": "Stock Issued During Period, Value,Contingent Consideration Earnout Payment",
        "documentation": "Stock issued during period, value,contingent consideration earnout payment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueConversionOfConvertibleSecurities",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Convertible note modification",
        "label": "Stock Issued During Period, Value, Conversion of Convertible Securities",
        "terseLabel": "Conversion of Convertible Securities Stock Issued | value",
        "documentation": "The gross value of stock issued during the period upon the conversion of convertible securities."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r50",
      "r211"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueConversionOfUnits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueConversionOfUnits",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Value, Conversion of Units",
        "verboseLabel": "Issuance of common stock for debt conversion",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r50",
      "r211"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Value, New Issues",
        "terseLabel": "Proceeds from issuance of common stock, net of issuance costs",
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r166",
      "r167",
      "r211",
      "r856",
      "r933",
      "r963",
      "r1045"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensation",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture, Total",
        "label": "Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture",
        "terseLabel": "Exercise of stock options and vesting of stock units",
        "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r166",
      "r167",
      "r211"
     ]
    },
    "rgen_StockOptionAndIncentivePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "StockOptionAndIncentivePlanMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock Option and Incentive Plan [Member]",
        "label": "Stock Option And Incentive Plan [Member]",
        "terseLabel": "2018 Plan"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchaseProgramAuthorizedAmount1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share repurchase amount",
        "label": "Stock Repurchase Program, Authorized Amount",
        "documentation": "Amount of stock repurchase plan authorized."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Repurchase of common stock (in shares)",
        "label": "Stock Repurchased During Period, Shares",
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r166",
      "r167",
      "r211",
      "r850",
      "r933",
      "r965"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchase of common stock",
        "label": "Stock Repurchased During Period, Value",
        "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r166",
      "r167",
      "r211",
      "r856",
      "r933",
      "r965",
      "r1045"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity, Attributable to Parent",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "Total stockholders' equity",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r170",
      "r171",
      "r196",
      "r890",
      "r907",
      "r934",
      "r935",
      "r1033",
      "r1046",
      "r1154",
      "r1165",
      "r1235",
      "r1264"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity, Attributable to Parent [Abstract]",
        "terseLabel": "Stockholders' equity:"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_StockholdersEquityNoteDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "StockholdersEquityNoteDisclosureLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "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]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_StockholdersEquityNoteDisclosureTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "StockholdersEquityNoteDisclosureTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stockholders Equity Note Disclosure [Table]",
        "label": "Stockholders Equity Note Disclosure [Table]",
        "terseLabel": "Stockholders Equity Note Disclosure [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Text Block]",
        "terseLabel": "Stockholders' Equity",
        "documentation": "The entire disclosure for equity."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r317",
      "r498",
      "r500",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r513",
      "r706",
      "r936",
      "r938",
      "r967"
     ]
    },
    "rgen_SubscriptionTransactionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "SubscriptionTransactionMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subscription Transaction",
        "label": "Subscription Transaction [Member]",
        "documentation": "Subscription Transaction [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_SubscriptionTransactionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "SubscriptionTransactionsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subscription Transactions",
        "label": "Subscription Transactions [Member]",
        "documentation": "Subscription transactions."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Axis]",
        "terseLabel": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r742",
      "r776"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Domain]",
        "terseLabel": "Subsequent Event Type [Domain]",
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r742",
      "r776"
     ]
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsidiarySaleOfStockAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of Stock [Axis]",
        "documentation": "Information by type of sale of the entity's stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SummaryOfIncomeTaxExaminationsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SummaryOfIncomeTaxExaminationsTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r223"
     ]
    },
    "us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of Positions for which Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table Text Block]",
        "terseLabel": "Reconciliation of Unrecognized Tax Benefits",
        "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."
       }
      }
     },
     "auth_ref": [
      "r224"
     ]
    },
    "rgen_SummaryOfSignificantAccountingPoliciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "SummaryOfSignificantAccountingPoliciesLineItems",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "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]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_SummaryOfSignificantAccountingPoliciesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "SummaryOfSignificantAccountingPoliciesTable",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "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]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalBalanceSheetDisclosuresTextBlock",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Balance Sheet Disclosures [Text Block]",
        "verboseLabel": "Consolidated Balance Sheet Detail",
        "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity."
       }
      }
     },
     "auth_ref": [
      "r1137"
     ]
    },
    "us-gaap_SupplementalCashFlowElementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalCashFlowElementsAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Elements [Abstract]",
        "verboseLabel": "Supplemental disclosure of non-cash investing and financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental disclosure of cash flow information:"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List [Table Text Block]",
        "terseLabel": "Tabular List, Table"
       }
      }
     },
     "auth_ref": [
      "r1099"
     ]
    },
    "us-gaap_TaxCreditCarryforwardAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxCreditCarryforwardAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax Credit Carryforward, Amount",
        "terseLabel": "Business tax credits carry forwards",
        "documentation": "The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r116"
     ]
    },
    "us-gaap_TaxPeriodAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxPeriodAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax Period [Axis]",
        "terseLabel": "Tax Period [Axis]",
        "documentation": "Information about the period subject to enacted tax laws."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TaxPeriodDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxPeriodDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax Period [Domain]",
        "terseLabel": "Tax Period [Domain]",
        "documentation": "Identified tax period."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_TaxYear2040Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TaxYear2040Member",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tax Year 2040.",
        "label": "Tax Year 2040 [Member]",
        "terseLabel": "Tax Year 2040"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_TaxYear2041Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TaxYear2041Member",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tax Year 2041",
        "label": "Tax Year2041 [Member]",
        "documentation": "Tax Year2041 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_TaxYear2043Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TaxYear2043Member",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tax Year 2043 Member",
        "label": "Tax Year 2043 [Member]",
        "documentation": "Tax Year 2043 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_TaxYearTwoThousandThirtySevenMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TaxYearTwoThousandThirtySevenMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tax Year 2037",
        "label": "Tax Year Two Thousand Thirty Seven [Member]",
        "documentation": "Tax year 2037."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TaxesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxesPayableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Taxes Payable, Current, Total",
        "label": "Taxes Payable, Current",
        "terseLabel": "Tax payable",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r39"
     ]
    },
    "us-gaap_TextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TextBlockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Text Block [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]",
        "terseLabel": "Title of Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r1162",
      "r1244"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Domain]",
        "terseLabel": "Relationship to Entity [Domain]",
        "verboseLabel": "Title of Individual [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_TonyJHuntMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TonyJHuntMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tony J. Hunt",
        "label": "Tony J. Hunt [Member]",
        "documentation": "Tony J. Hunt."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount",
        "terseLabel": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r1091"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group [Text Block]",
        "terseLabel": "Total Shareholder Return Vs Peer Group"
       }
      }
     },
     "auth_ref": [
      "r1098"
     ]
    },
    "us-gaap_TradeAccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradeAccountsReceivableMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade Accounts Receivable Member",
        "label": "Trade Accounts Receivable [Member]",
        "documentation": "Amount due from customers or clients for goods or services that have been delivered or sold in the normal course of business."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TradeNamesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradeNamesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade Names [Member]",
        "terseLabel": "Trademark and tradename [Member]",
        "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof."
       }
      }
     },
     "auth_ref": [
      "r127"
     ]
    },
    "us-gaap_TrademarksAndTradeNamesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TrademarksAndTradeNamesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trademarks and Trade Names [Member]",
        "verboseLabel": "Trademark and tradename",
        "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."
       }
      }
     },
     "auth_ref": [
      "r127"
     ]
    },
    "us-gaap_TrademarksMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TrademarksMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trademarks",
        "label": "Trademarks [Member]",
        "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style."
       }
      }
     },
     "auth_ref": [
      "r127"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement [Axis]",
        "terseLabel": "Trading Arrangement:"
       }
      }
     },
     "auth_ref": [
      "r1119"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual [Table]",
        "terseLabel": "Trading Arrangements, by Individual"
       }
      }
     },
     "auth_ref": [
      "r1121"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Adoption Date",
        "terseLabel": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r1122"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Duration",
        "terseLabel": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r1123"
     ]
    },
    "rgen_TrdArrExpirationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TrdArrExpirationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expiration Date",
        "label": "Trd Arr Expiration Date",
        "documentation": "Trd Arr expiration date."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r1121"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Title",
        "terseLabel": "Title"
       }
      }
     },
     "auth_ref": [
      "r1121"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Securities Aggregate Available Amount",
        "terseLabel": "Aggregate Available"
       }
      }
     },
     "auth_ref": [
      "r1124"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Termination Date",
        "terseLabel": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r1122"
     ]
    },
    "us-gaap_TreasuryStockValueAcquiredCostMethod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockValueAcquiredCostMethod",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Value, Acquired, Cost Method",
        "terseLabel": "Purchase of treasury stock",
        "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r106",
      "r211"
     ]
    },
    "rgen_TrueUpCostsDecember2020Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TrueUpCostsDecember2020Member",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "True Up Costs December 2020",
        "documentation": "True up costs December 2020.",
        "label": "True up costs December 2020 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TrustForBenefitOfEmployeesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TrustForBenefitOfEmployeesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trust for Benefit of Employees [Member]",
        "terseLabel": "Employees",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1194",
      "r1242",
      "r1243",
      "r1245"
     ]
    },
    "rgen_TwoZeroOneNineNotesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TwoZeroOneNineNotesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2019 Notes",
        "label": "Two Zero One Nine Notes [Member]",
        "documentation": "Two zero one nine notes."
       }
      }
     },
     "auth_ref": []
    },
    "rgen_TwoZeroTwoThreeNotesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "TwoZeroTwoThreeNotesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2023 Notes",
        "label": "Two Zero Two Three Notes [Member]",
        "documentation": "Two zero two three Notes."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TypeOfAdoptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TypeOfAdoptionMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update [Domain]",
        "terseLabel": "Type of Adoption [Domain]",
        "documentation": "Amendment to accounting standards."
       }
      }
     },
     "auth_ref": [
      "r265",
      "r266",
      "r267",
      "r268",
      "r269",
      "r328",
      "r329",
      "r330",
      "r331",
      "r340",
      "r384",
      "r385",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r449",
      "r631",
      "r632",
      "r633",
      "r666",
      "r667",
      "r668",
      "r669",
      "r685",
      "r686",
      "r687",
      "r695",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717",
      "r718",
      "r727",
      "r728",
      "r731",
      "r732",
      "r733",
      "r734",
      "r743",
      "r744",
      "r748",
      "r749",
      "r750",
      "r751",
      "r764",
      "r765",
      "r766",
      "r767",
      "r768",
      "r785",
      "r786",
      "r787",
      "r832",
      "r833",
      "r834",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843"
     ]
    },
    "us-gaap_TypeOfRestructuringDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TypeOfRestructuringDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Type of Restructuring [Domain]",
        "documentation": "Identification of the types of restructuring costs."
       }
      }
     },
     "auth_ref": [
      "r452",
      "r453",
      "r459",
      "r460"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "US",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES",
        "terseLabel": "United States"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_USTreasuryBillSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "USTreasuryBillSecuritiesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "US Treasury Bill Securities [Member]",
        "terseLabel": "U.S. treasury bills",
        "documentation": "This category includes information about negotiable debt securities issued by the United States Department of the Treasury which generally have maturities of one year or less, are interest bearing, and are backed by the full faith and credit of the United States government."
       }
      }
     },
     "auth_ref": [
      "r1255"
     ]
    },
    "rgen_UncategorizedAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "UncategorizedAbstract",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Uncategorized [Abstract]",
        "label": "Uncategorized [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_UnderwriterMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "UnderwriterMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Underwriter.",
        "label": "Underwriter [Member]",
        "terseLabel": "Underwriters"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UndistributedEarningsOfForeignSubsidiaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UndistributedEarningsOfForeignSubsidiaries",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Undistributed Earnings of Foreign Subsidiaries",
        "verboseLabel": "Undistributed earnings of foreign subsidiaries",
        "documentation": "Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r20",
      "r641",
      "r680"
     ]
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change, Percent",
        "terseLabel": "Underlying Security Market Price Change"
       }
      }
     },
     "auth_ref": [
      "r1118"
     ]
    },
    "rgen_UnlimitedCarryforwardPeriodMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "UnlimitedCarryforwardPeriodMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unlimited Carryforward Period",
        "label": "Unlimited Carryforward Period [Member]",
        "documentation": "Unlimited carryforward period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefits",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits",
        "periodEndLabel": "Balance of gross unrecognized tax benefits, end of period",
        "periodStartLabel": "Balance of gross unrecognized tax benefits, beginning of period",
        "documentation": "Amount of unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r642",
      "r652"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized tax benefits decreases resulting from current period tax positions",
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Current Period Tax Positions",
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return."
       }
      }
     },
     "auth_ref": [
      "r115"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in the prior period",
        "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",
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns."
       }
      }
     },
     "auth_ref": [
      "r653"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued, Total",
        "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued",
        "terseLabel": "Interest and penalties accrued",
        "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."
       }
      }
     },
     "auth_ref": [
      "r650"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense, Total",
        "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense",
        "terseLabel": "Interest and penalties related to income taxes",
        "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."
       }
      }
     },
     "auth_ref": [
      "r650"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return."
       }
      }
     },
     "auth_ref": [
      "r654"
     ]
    },
    "rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease",
     "crdr": "debit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits that Would Impact Effective Tax Rate",
        "terseLabel": "Impact of unrecognized tax benefits on effective tax rate",
        "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate."
       }
      }
     },
     "auth_ref": [
      "r655"
     ]
    },
    "rgen_UnvestedOptionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "UnvestedOptionsMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unvested Options",
        "label": "Unvested Options [Member]",
        "documentation": "Unvested Options [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of Estimates",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r77",
      "r78",
      "r251",
      "r252",
      "r255",
      "r256"
     ]
    },
    "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount",
        "terseLabel": "Valuation allowance increase (decrease)",
        "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset."
       }
      }
     },
     "auth_ref": [
      "r658"
     ]
    },
    "us-gaap_ValuationTechniqueAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationTechniqueAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Approach and Technique [Axis]",
        "documentation": "Information by valuation approach and technique."
       }
      }
     },
     "auth_ref": [
      "r26"
     ]
    },
    "us-gaap_ValuationTechniqueDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationTechniqueDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Approach and Technique [Domain]",
        "documentation": "Valuation approach and technique."
       }
      }
     },
     "auth_ref": [
      "r26"
     ]
    },
    "rgen_VariableOperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "VariableOperatingLeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VehiclesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VehiclesMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vehicles [Member]",
        "label": "Vehicles [Member]",
        "documentation": "Equipment used primarily for road transportation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VestingAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VestingAxis",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting [Axis]",
        "terseLabel": "Vesting [Axis]",
        "documentation": "Information by vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1198",
      "r1199",
      "r1200",
      "r1201",
      "r1202",
      "r1203",
      "r1204",
      "r1205",
      "r1206",
      "r1207",
      "r1208",
      "r1209",
      "r1210",
      "r1211",
      "r1212",
      "r1213",
      "r1214",
      "r1215",
      "r1216",
      "r1217",
      "r1218",
      "r1219",
      "r1220",
      "r1221",
      "r1222",
      "r1223"
     ]
    },
    "us-gaap_VestingDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VestingDomain",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting [Domain]",
        "terseLabel": "Vesting [Domain]",
        "documentation": "Vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1198",
      "r1199",
      "r1200",
      "r1201",
      "r1202",
      "r1203",
      "r1204",
      "r1205",
      "r1206",
      "r1207",
      "r1208",
      "r1209",
      "r1210",
      "r1211",
      "r1212",
      "r1213",
      "r1214",
      "r1215",
      "r1216",
      "r1217",
      "r1218",
      "r1219",
      "r1220",
      "r1221",
      "r1222",
      "r1223"
     ]
    },
    "rgen_VolatilityRateOfContingentConsideration": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "VolatilityRateOfContingentConsideration",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Volatility",
        "documentation": "Volatility rate of contingent consideration.",
        "label": "Volatility rate of Contingent Consideration"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_WeightedAverageDiscountRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "WeightedAverageDiscountRate",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Discount Rate",
        "documentation": "Weighted average discount rate.",
        "label": "Weighted Average Discount Rate"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail2": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment",
        "totalLabel": "Dilutive potential common shares",
        "verboseLabel": "Dilutive potential common shares",
        "terseLabel": "Dilutive potential common shares",
        "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation."
       }
      }
     },
     "auth_ref": [
      "r1160"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Diluted",
        "totalLabel": "Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted",
        "verboseLabel": "Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r342",
      "r349"
     ]
    },
    "rgen_WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail2": {
       "parentTag": "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Dilutive Effect of Unvested Performance Stock Units",
        "documentation": "Weighted average number of shares dilutive effect of unvested performance stock units.",
        "terseLabel": "Dilutive effect of unvested performance stock units"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average common shares outstanding:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Weighted Average Number of Shares Outstanding, Basic, Total",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Basic",
        "verboseLabel": "Weighted average shares used in computing net income per share - basic",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r341",
      "r349"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesRestrictedStock": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesRestrictedStock",
     "calculation": {
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail2": {
       "parentTag": "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares, Restricted Stock",
        "verboseLabel": "Options and stock units",
        "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."
       }
      }
     },
     "auth_ref": [
      "r67"
     ]
    },
    "rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Zero Point Three Seven Five Percent Convertible Senior Notes Due Twenty Twenty Four Member",
        "label": "Zero Point Three Seven Five Percent Convertible Senior Notes Due Twenty Twenty Four [Member]",
        "terseLabel": "0.375% Convertible Senior Notes due 2024"
       }
      }
     },
     "auth_ref": []
    },
    "rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.repligencorp.com/20231231",
     "localname": "ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember",
     "presentation": [
      "http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Zero Point Three Seven Five Percentage Convertible Senior Notes Due Twenty Twenty Four Member",
        "label": "Zero Point Three Seven Five Percentage Convertible Senior Notes Due Twenty Twenty Four [Member]",
        "verboseLabel": "0.375% Convertible Senior Notes due 2024"
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "940",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "16",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-16"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "6",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-6"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "7",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-7"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "7",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-7"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "8",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-8"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Subparagraph": "b",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a),(b),(c)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(f)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "30",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "740",
   "Topic": "942",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481141/942-740-50-1"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "740",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480135/944-740-50-1"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c),(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)",
   "SubTopic": "10",
   "Topic": "820",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "820",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(4)",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "820",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "SubTopic": "30",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-3"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "e",
   "SubTopic": "470",
   "Topic": "942",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.24)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.25)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-30)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-13"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "((a)(1),(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-4"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 5.P.3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-1"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB TOPIC 5.P.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "25",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481284/470-20-25-22"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "50",
   "Section": "40",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481303/470-50-40-2"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "50",
   "Section": "40",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481303/470-50-40-4"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "217",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "25",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-23"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2"
  },
  "r121": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2"
  },
  "r122": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "37",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479303/805-10-55-37"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1"
  },
  "r127": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14"
  },
  "r128": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14"
  },
  "r129": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20"
  },
  "r130": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "30",
   "Section": "25",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-5"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "30",
   "Section": "25",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-6"
  },
  "r132": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A"
  },
  "r133": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A"
  },
  "r134": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B"
  },
  "r135": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B"
  },
  "r136": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C"
  },
  "r137": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D"
  },
  "r138": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "182",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480401/815-10-55-182"
  },
  "r139": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "820",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r140": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "820",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r141": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "820",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3"
  },
  "r142": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-11"
  },
  "r143": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-12"
  },
  "r144": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20"
  },
  "r145": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r146": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A"
  },
  "r147": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2"
  },
  "r148": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3"
  },
  "r149": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8"
  },
  "r150": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "850",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r151": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "850",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3"
  },
  "r152": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.17)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r153": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "320",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-5"
  },
  "r154": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3"
  },
  "r155": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3"
  },
  "r156": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "825",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480981/942-825-50-1"
  },
  "r157": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "985",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1"
  },
  "r158": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 201.5-02(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r159": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 201.5-02(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r160": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 201.5-02(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r161": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r162": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r163": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r164": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r165": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r166": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r167": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r168": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r169": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r170": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r171": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r172": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r173": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r174": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r175": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r176": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//220/tableOfContent"
  },
  "r177": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r178": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r179": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r180": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r181": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r182": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r183": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r184": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r185": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7(a),(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r186": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r187": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.8)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r188": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r189": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r190": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r191": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r192": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r193": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r194": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r195": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "270",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//270/tableOfContent"
  },
  "r196": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2"
  },
  "r197": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2"
  },
  "r198": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350/tableOfContent"
  },
  "r199": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r200": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r201": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r202": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r203": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r204": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//440/tableOfContent"
  },
  "r205": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r206": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-5"
  },
  "r207": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//505/tableOfContent"
  },
  "r208": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6"
  },
  "r209": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6"
  },
  "r210": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7"
  },
  "r211": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r212": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "710",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//710/tableOfContent"
  },
  "r213": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "710",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483070/710-10-25-9"
  },
  "r214": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "710",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483043/710-10-30-1"
  },
  "r215": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "712",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//712/tableOfContent"
  },
  "r216": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "715",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//715/tableOfContent"
  },
  "r217": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r218": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r219": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r220": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r221": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r222": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r223": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r224": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r225": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r226": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//805/tableOfContent"
  },
  "r227": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1"
  },
  "r228": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38"
  },
  "r229": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1"
  },
  "r230": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19"
  },
  "r231": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r232": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "840",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481440/840-10-50-1"
  },
  "r233": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "840",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481501/840-20-50-4"
  },
  "r234": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "840",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481161/840-30-50-4"
  },
  "r235": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r236": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r237": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r238": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r239": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r240": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r241": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r242": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r243": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r244": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "210",
   "Topic": "946",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-20"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482964/270-10-50-1"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "35",
   "Topic": "720",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.M.Q4)",
   "SubTopic": "20",
   "Topic": "326",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483530/326-20-S99-1"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22(a)(2))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(210.5-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-11"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(1)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "40",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482964/270-10-50-1B"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-42"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "44",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-44"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-2"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479391/326-20-30-4A"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479391/326-20-30-5A"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "8A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479366/326-20-35-8A"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-5"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-17"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-20"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-21"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-3C"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-3D"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-8"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479175/326-30-30-1B"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "13A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479148/326-30-35-13A"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479148/326-30-35-7A"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-3A"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-3C"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-3D"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//330/tableOfContent"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-2"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147477123/405-50-65-1"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//420/tableOfContent"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.P.3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-1"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB TOPIC 5.P.4(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-6"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-4"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480535/715-20-45-2"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(10)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(8)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(8)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-2"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-4"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-8"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "70",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480606/715-80-35-1"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-9"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.C.Q3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.1.Q5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.3.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "35",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482620/740-10-25-3"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-10B"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479845/805-20-65-3"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479845/805-20-65-3"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479845/805-20-65-3"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-4"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r699": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482477/820-10-65-13"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482477/820-10-65-13"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482736/825-10-45-5A"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//830/tableOfContent"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "832",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483482/832-10-65-1"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "832",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483482/832-10-65-1"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//842-20/tableOfContent"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//850/tableOfContent"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-6"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r778": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r780": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1"
  },
  "r789": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28"
  },
  "r794": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28"
  },
  "r795": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33"
  },
  "r796": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33"
  },
  "r797": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "35A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "35A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8"
  },
  "r800": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r802": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r803": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r804": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-3A"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r811": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r812": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r813": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r814": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r815": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r816": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r817": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r818": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r819": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r820": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r821": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r822": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r823": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r824": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r825": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r826": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r827": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r828": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r829": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r830": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r831": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A"
  },
  "r832": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r833": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r834": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r835": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r836": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r837": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r838": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r839": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r840": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r841": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r842": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r843": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r844": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r845": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r846": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r847": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r848": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r849": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r850": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r851": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r852": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13"
  },
  "r853": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-2"
  },
  "r854": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-5"
  },
  "r855": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-6"
  },
  "r856": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r857": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2"
  },
  "r858": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "27",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27"
  },
  "r859": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r860": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r861": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r862": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r863": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r864": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r865": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r866": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r867": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-21"
  },
  "r868": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4"
  },
  "r869": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r870": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r871": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r872": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r873": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2"
  },
  "r874": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r875": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r876": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r877": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r878": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r879": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r880": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r881": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r882": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r883": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r884": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r885": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r886": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r887": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r888": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r889": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r890": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r891": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r892": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r893": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r894": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r895": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r896": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r897": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r898": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r899": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r900": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r901": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r902": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r903": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r904": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r905": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r906": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r907": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r908": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r909": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7"
  },
  "r910": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3"
  },
  "r911": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r912": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r913": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r914": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r915": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r916": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r917": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r918": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r919": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r920": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r921": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r922": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r923": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r924": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r925": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r926": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r927": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r928": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r929": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r930": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r931": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r932": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r933": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r934": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r935": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r936": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r937": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r938": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r939": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r940": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r941": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r942": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r943": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r944": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r945": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r946": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r947": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r948": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r949": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r950": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5"
  },
  "r951": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5"
  },
  "r952": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B"
  },
  "r953": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C"
  },
  "r954": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5D",
   "Subparagraph": "(SX 210.12-13D(Column B)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5D"
  },
  "r955": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5D",
   "Subparagraph": "(SX 210.12-13D(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5D"
  },
  "r956": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r957": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r958": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "7",
   "Subparagraph": "(SX 210.12-15(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-7"
  },
  "r959": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "7",
   "Subparagraph": "(SX 210.12-15(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-7"
  },
  "r960": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "7",
   "Subparagraph": "(SX 210.12-15(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-7"
  },
  "r961": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "7",
   "Subparagraph": "(SX 210.12-15(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-7"
  },
  "r962": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1"
  },
  "r963": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r964": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r965": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r966": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r967": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6"
  },
  "r968": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1"
  },
  "r969": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481058/954-310-45-1"
  },
  "r970": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2"
  },
  "r971": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1"
  },
  "r972": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r973": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r974": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r975": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r976": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r977": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r978": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r979": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r980": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r981": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1"
  },
  "r982": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1"
  },
  "r983": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r984": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r985": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r986": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r987": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r988": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r989": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r990": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r991": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r992": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r993": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-16"
  },
  "r994": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-21"
  },
  "r995": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22"
  },
  "r996": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r997": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r998": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52"
  },
  "r999": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r1000": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r1001": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482785/280-10-55-47"
  },
  "r1002": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A"
  },
  "r1003": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5"
  },
  "r1004": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5"
  },
  "r1005": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24"
  },
  "r1006": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r1007": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B"
  },
  "r1008": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C"
  },
  "r1009": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E"
  },
  "r1010": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F"
  },
  "r1011": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r1012": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r1013": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r1014": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r1015": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r1016": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r1017": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r1018": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r1019": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r1020": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r1021": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17"
  },
  "r1022": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-18"
  },
  "r1023": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11"
  },
  "r1024": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11"
  },
  "r1025": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11"
  },
  "r1026": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6"
  },
  "r1027": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6"
  },
  "r1028": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6"
  },
  "r1029": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8"
  },
  "r1030": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1031": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1032": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53"
  },
  "r1033": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10"
  },
  "r1034": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2"
  },
  "r1035": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F"
  },
  "r1036": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r1037": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r1038": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1"
  },
  "r1039": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r1040": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r1041": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r1042": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r1043": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r1044": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10"
  },
  "r1045": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11"
  },
  "r1046": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12"
  },
  "r1047": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r1048": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r1049": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r1050": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r1051": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r1052": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r1053": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r1054": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r1055": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r1056": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r1057": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r1058": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r1059": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r1060": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r1061": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r1062": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r1063": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r1064": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii",
   "Section": "6"
  },
  "r1065": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r1066": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r1067": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r1068": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r1069": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r1070": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r1071": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r1072": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r1073": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r1074": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r1075": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r1076": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r1077": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r1078": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r1079": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r1080": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r1081": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r1082": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r1083": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r1084": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r1085": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r1086": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r1087": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r1088": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r1089": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r1090": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r1091": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r1092": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r1093": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r1094": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r1095": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r1096": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r1097": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r1098": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r1099": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r1100": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r1101": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r1102": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r1103": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r1104": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r1105": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r1106": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r1107": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r1108": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r1109": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r1110": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r1111": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r1112": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r1113": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r1114": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r1115": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r1116": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r1117": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r1118": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r1119": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r1120": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r1121": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r1122": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r1123": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r1124": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r1125": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r1126": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r1127": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r1128": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3"
  },
  "r1129": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r1130": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r1131": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r1132": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "SubTopic": "825",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r1133": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2"
  },
  "r1134": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(3)",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2"
  },
  "r1135": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r1136": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H"
  },
  "r1137": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//210/tableOfContent"
  },
  "r1138": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1139": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1140": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1141": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1142": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1143": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r1144": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r1145": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r1146": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(b)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r1147": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r1148": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r1149": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17"
  },
  "r1150": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r1151": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r1152": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r1153": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r1154": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r1155": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r1156": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r1157": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r1158": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r1159": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "55",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-55"
  },
  "r1160": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r1161": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18"
  },
  "r1162": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13"
  },
  "r1163": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11"
  },
  "r1164": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r1165": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r1166": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1"
  },
  "r1167": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r1168": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1"
  },
  "r1169": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r1170": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r1171": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r1172": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r1173": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r1174": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r1175": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r1176": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r1177": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r1178": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A"
  },
  "r1179": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2"
  },
  "r1180": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482190/360-10-35-3"
  },
  "r1181": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10"
  },
  "r1182": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482047/420-10-45-3"
  },
  "r1183": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r1184": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r1185": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r1186": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r1187": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r1188": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r1189": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r1190": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r1191": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r1192": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r1193": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r1194": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r1195": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480606/715-80-35-1"
  },
  "r1196": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11"
  },
  "r1197": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-9"
  },
  "r1198": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1199": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1200": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1201": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1202": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1203": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1204": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1205": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1206": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1207": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1208": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1209": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1210": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1211": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1212": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1213": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1214": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1215": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1216": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1217": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1218": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1219": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1220": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1221": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1222": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1223": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1224": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r1225": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r1226": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r1227": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r1228": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6"
  },
  "r1229": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r1230": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r1231": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-11"
  },
  "r1232": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r1233": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r1234": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r1235": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r1236": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r1237": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r1238": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r1239": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r1240": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r1241": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r1242": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r1243": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r1244": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2"
  },
  "r1245": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3"
  },
  "r1246": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r1247": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r1248": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r1249": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r1250": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r1251": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r1252": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r1253": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r1254": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1"
  },
  "r1255": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-2"
  },
  "r1256": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r1257": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r1258": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B"
  },
  "r1259": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r1260": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r1261": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r1262": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(k)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r1263": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r1264": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r1265": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r1266": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r1267": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r1268": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r1269": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r1270": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>122
<FILENAME>0000950170-24-018809-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000950170-24-018809-xbrl.zip
M4$L#!!0    ( #F#5EC8:[7<4J<  )>Z   1    :6UG,S,V,3@Q.#E?,"YJ
M<&?LO'587-&R)[IQ@@:">[#@[A D"1[</<$;=X=& @EN 8($=X?@[AH@.#3N
M[F[=CW/OO/?.G;EGYLQY<]\]\WVS^ZO^HVOW[E5K5?WJ5WO5;M@<;!5X*2<E
M*P7 P0, W/,+@"T [P%49&049"14%!24%R]0T3#P,#'0T3&(<5]AXY&34%*0
MDY"14=&RO:&B9J$A(V/@9V3AX.3AX:%\(_A6@$N$C9N'ZR\7@7OQX@4&.@81
M)B81UVNRUUS_TP>L \!!A:>#3T. HP;@<> 0<.!@/0#E\SB1X/[E /[+ 0>/
M@(B$C(+Z @W]^83:EP \' ("/"("$A(BXK/6]UD/(.(@X;[FE$!^I?(9A=H1
MCRL@-@N5YEU5)[[J^"DMM[%3X LT D(B8A(Z^C<,C$P\O'S\ H)"[S](2DG+
MR,JIJ6MH:FGKZ)J8FIE;6(*LG%U<W=P]/+V"O@2'?/T6&A87_STA,>E'<DIV
M3FY>?D%A47'UKYK:NOJ&QJ:N[I[>OOZ!P:&)R:GIF=FY><C:^L;FUO;.[M[^
MV?G%Y=7US>W=_5_L@@,0X/[OX]^U"^?9+GA$1 1$E+_8!0?O_I<3<!"17G,B
MXTJHH'QV?$7-%8"*]RXVJZKS!0VWZBF^L=,X&@$MSQK=V5],^Q?+_C[# O\A
MR_X?P_Y?NR  !@+<\^(AX !BP$T[\U/%1/1?WG*S_6G.VR%/#']Y8Y)C@!?[
M/ZK_H_KW54!VV/^F4F35U/8S:^_<:#\I!J*;CR#/_,GTDF('DBL4^2UL1LW3
MCJ;93,_B0NL5 =+WUV._91 C7!%XX,S#"L E((AJ#R0JR]J\NCV)N"'9!&ME
MB?3;X'7F/L1A&CG1%5VE$.\"*2O99Z)]>3YM8P4/SBFLP.3Y6ZF*=23!90MZ
M[4D<]<FFG/4W>BA!_>^U_@DFXV\+@O]MHQG^2C!-0L[4AYE)XD\-U5\^4OE&
M-,8*TJ'2.F"]($?AC84!J%=7LX_,1^8[,HD+RO6-48QEMCEF@:.L<7%=KWN\
M0Z/=O&Q5^IBG"S.QF<Y\>_OJO1T]D:.+%>QX1I2DM:%#$QR-Q@&*TZ-3#@58
M#IP1&V%Y%$'E_<7Y:3-)%BK0N9!;(T1GPK@Z0Q51-PZL52T[Y[&/SH;M>)SB
MP:]#:51_;ZF((_U(-.EWDJ6]H9W<11CQ(P/-_K'2K.#+<+4@3PRP+M!'_T9"
M=8-ZK&<GC@6(>9CZ++X:<:]_M=A9J,O@$=ER3C3D:>'QFOA7LYO8UWSA:4@6
M& 90-AD]^?)#0^/\V<<E\0"5?U)1%2ZU'#W$5S>M$@!49RG/1)>7=SJTQ@VL
MD/M8QS,$>B:D9!S>R1#>$CWFQ@&C"H#KP!Z+-:U->00",^, U2759,D.*!T]
M&@'D3&3#.F]C?V1S]";%A'24W-'9?$&;F-]WX+Q@^TX1KBQ/R/^,:"GC]B-R
MQ2CGCF_X(>4]\^]'?N\_*/73Z##@]FD"!ASLM5]^3-@!HSUF'+U^^EE_" /F
M-(T@HD9*1QB#VW<9E[-$2^E>%K5>2 ]*3R7YC%&<*!!2+%KAT'/3#3O.:!\H
M'ER!))XRW#^KR.Q6T] 4FGT.S#7%D9<$>'&H(TTB-7#$-32( "Q_--?G4]39
M8<#&C3P,J,B' >-<&O?_&_F2EN!&4>TP&-5P>.U4X=SVC?G2^MONWXS-6XN$
MM!:3L_CC,WZUV7,>01_CE:8^<W5L\@_UZA"1E3!C:01LXHA3R$#Y9LU/^U+N
M+;Y9I'C8L)6SS<UE*^"$?C=?%:J<IY!K3[JHZM00V3!XM"^E>[#*/J.K,C!Z
M8-&AM:)V>:#\N?V5N=T1[&.[0;S=-':KY4<D9-L:!#HV#J!5.'"FEF6(V9:@
M889?^S:(&>/+='ZK]%[ADU7HIQ(702(WG)#Y7^Y)/U/K?)KK=L@L\.!&/0B-
MID^NB%A=A3<\V'F$%0QTLC^<&ZJNY1ADFB&/1VQ>#?).&PWM:$Q2G].BLA'=
MY99/^"0+'*1!B?(MVT@F1$3-A<R*O@P51^AJQ:,V0L(;?A9R.>0 IJOJ-S#@
M["$/!LQ.@G>3&>"?\)[1YY]6M-YN1)JH_O%YXUFXIQFROO\VYTE/=JOH$XE"
M^# 28AJVTL<_*.\E/0O/P-_R3^D32O?N$X/</3VI=;MQ=8>I%W^?!._\5F((
M'G1X;PM9O"[:.MLNL"AN-GAO>6\CE#QA)I/SF?LC:\L&=95O,Q=?,(W CKL5
M<"GT;UR^L1WYMD)UIL*D;IJF!M,Y3\_J#ZFZV0NRWJ^)"S^./]?X= ,[F>6!
MT&V$XKW$=<O?ZVL_>HCL$ ;CTUQ[ = _<[AHNC7G1MK+IO0?U6O:W#*_+4TE
MEQ&\YSA4#T0M(V% ^#[A@Y /TKS_8/WV=S5H5G7YQ#AG+%W2S,(Q^GH0SC$"
MJY:G#64B?V9%)4X^,4H^R&V&+FF ^T=+#AO?\=*O"+M^'XN4/<M,+'!WV\NJ
MT\4RUM:1I=\9%E$3]$UF)A@X.Z;RM=)#_!2*LL>*S%(P "KFTGY_;__TBLZH
MF/!_(Q_]Y#'6TWX:ZF&\H_4@EFYB&JF1:H7LAH9>;X88D;)2VOYR;[:I/-31
MXK,/2SDM$:X(,Q/'<6E!<>6  %7$J25"3-*Z_@Q$,9X68AMHQ7\]YD2=H1%%
M1([GWZ:?^_+W0X"&P(:;3+\0[J.XO*_9:JHB8WZ_C\M.,[>Y9,-+SUZ?RG9W
M>](@UZ,H:Y+)-?:Y2X$CUBL9X^:XF?V9/<CD[_#AAM<_C14V/JLB3\:O4.U$
M\MS:PQL5_Y1<D"4$VSW02#Y,BLT_1MPUMQTONQT=K) I(\$ M-O>1TDGUF.>
M-3/:NI=6FIT6%S[#GO)(K.>1Y7SG+5%2+\J:_TW"#%TS0A'[:B?9VY?-;AK6
MA<DW5TJAE62/8YS59M(X>JP7T-&!7P&V!:9=A@,PC)T=ALS0^'$V!_N\UOUY
M=K/# (9_6BFTUIW^^O6RT95<RIYIF07^7:*YL0.^^&:<(H 'YQ>VO7ZV'"#Z
M\[,W?N_O(A^#3V&D@OG?JWVO&,)^H]T,E(2OEQ'79N7ZEH9/N!U:ZC/8IEX3
M,M>(CJ6:NYND*2/W*K?#@.@E=FA;*@SX,*ALV48W(2)N3F(V_J.G^)#D333#
M/.2@ 7/ P:&;:G5UZC\,N%U*(TUZW'39XW=*JSV;JS:#!?J$-J-U"WL'(;1#
M<DR'L]G5-48O=:W;P/,FR2(_FUNF$01'.0-]F35#)7LA>E],<\L#PQB*&/Y7
M33MSVMER"J3BBSTKH9RMPH\25-R-P9B7'5^EH.>Q,5S<$18IN[N9V&3AW10L
M2=VZULLZ^S="";4)2VT9+"0I>L,6+15Q%D#YQ1?]F)%))*+I[5.+;^7LI$K-
MH>2TTZ-E;/GE@?0C&7%JYN['*V-+?<+7%1K9_@+L\+LDK2$Y2#,%QC:]Z5]!
MN4PUA5#G'OV:\)JTUXN<:12-\$TEMR^MFDSOXCT;S#ICZS8&XV^=(QXV> O^
M*\ZDC'3/D.V/]H\*4]EQGD6!Y+;!(JW\@N/F$XJ:CA&DJ;R@+\%DLPN\M7VQ
MA?(T39;2,!FOM?NA6%+8E=]@AH?M$%^:[L<J6G]JSS7U>\R4$3 '%-V414ST
M>\\I1%\@2;,E!2HQVB=,@S(O:=.-J'F&NAI*$^&BK@P4/RWZP "D)]^NFZU-
M$\]EFE88H&5K7=#G_1MJ GT?/1I]2+H09>^Z,'OUTACG7O,(SUNS#2_&FQ9*
M/Q\B0I?+SRW)<W3 <JRT:\VN?ZJJ?T<YS[FP<+2T[1FUPO_13?1J3D51("S6
MO9$K2U%N1F")M%/)=B?U(8+;]CQEQEQ5:$<$VVH:.CC#*E@U8Z@L).V1VGE?
MN5UOF:VQ\\8-)PNUA ;EP>V\.])$(8X6!F2$.V]+7[WMM888+AAU;T-&X]\4
MDVT<[*G-2*Y\M37_L0CAGEN" 6-ZSO5B&KL@0]P5I8$216$KZW%]&'!=EY-+
MGM+;GFHGMG6]Y(3R, RI.SI^W11L7I] %]G$E1:6+-%O&!0Q5;,O+XFG3H"G
M(@G\?Q%\P_O[687JE.O[=6%O2RV7N*%.#>G&$OPA'^FJ0!C0J>6H+P%FRNEG
MJ@U$2:371#("/0RAWODC;@C@P=53-.8.YM!7-B5D3AJ\1Z]+T&1Y%7#Q*F",
MTI!)Z<A6^$'M@?WAW>S#>XOD:R5!GZ5_+=;QUR#I0>M/SFMFQ3# 3"]5V'>"
MKK7Z;<N-DV<F[1%:GW/"8J^L?B*+%]HNFXNOVXY^RN2#Z#JKE()G+7NM5/DG
M;<SHA #1/]ACY\&K-QUX</M\)'4_BSU7YN^#RU9BH/KM%LFFYPL/98$.OI%<
M?YVS'5:P:A[F7!GHX[KVATB-L.?V)LMZ,+$>?OP.O@Y$/H6C%!@07$VWKFW7
M@0&U+GU<4I\>WG]&M' 0_9AV/,IY%-WW#V:"TH4G=Z7)C.%$>R[GCL#7K8.7
M'7NWT^RWZ?O0%(TB&!#PL?N._:(,GV]Z^=O(E%;U=(I02(5)/L.#^GZYWZ'U
M</T?+&OA(Y+E"AA \2>2:PH&#.N$[&E[LTO<3B^)O:^<_#&()R4[MIRNUCJV
M#LX#J6U_\<,'&YT3LN2="7N!DQ/,UAY(97UN-!N;1)*/L:['ZKPTR_#4Y105
MCY*("DNHLL.8Y/[K"(>'0\2)\0K2=B=!T!N=]>*! 29IY^,FG+)7ABLJ>M\U
MI.R$7S$PVAE##M8L]-YJOC)Q\SO>>&@46[+?T]- 6OK9>HF,7JBJ/:;Q&>JH
MW6XZS<-FHU-Q**T'PCYY":Y<@B:X15R/0Q$-E5?477@T,(6U?TWC?:.EUG@X
M'>!K\I4T*EW4-TC.CHMK>AY,3%<80R;\/R2,Y#,\%FYHQ5S::0 #G&5^3FY5
M:6QU$P=&:0%5T)\@Q4SX0B,8T'^<! .,%&! MFG)U;N_=AG Z.^_D6,]$/O:
MDUP%S_07&9PX5JXY6MX/?Q3:].FO;[XI3$4B1UK=5",$L2^%^I5Z0?&F_["Q
MS\F6+?/V.]J^8,2% 6JZ#\+6_/:_QR!&JUJ/$3  _Z".7XAW.J&DMN>KW4ZH
M._7G@*TFMUXG0[):PJ:KVL9$[:#CX9X%/5+9#M$G,9(K;V]+5F,<O9Y8*2$F
M-B1YO?>X19U=S&!NXK7%[8(W57+=LE63A 2)NU^N_$K]<B^T++,;]6R7?C+2
MECXGQER._]%-*F&5<98K>MRF&BWF&S9J80.EV5;E![NR')_ZT]JGS#UG^,=]
M,8C1/G-F=HT&>1FK2FI^A6L.T]R^IM=W4=N\+KG6#I'HPGVF:3/#6Z^^8Z,:
MZM;:696WS38V#QM!&G6W7Q4?RI +4 ]7FI(H!R8W(]H(GZF$T2;91'1/VX97
MV.H5.^F^6])Y1QU'%R$E[7YO/W 1T@\#=.LOC7!U5_:JY#W=09B3%C[>71MQ
M*(CWQL4>7K'1W!_Z<115MSXN96?+_Z EEMWX?+@ZE1GT9[NRJK8K[)WXOOC]
ME+VK/='P&&ZT.WPXTJ!E,:ZUE[H16*4697)$%?Q3/;[7BXD\^U1F.;9O)&-
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
M$ :L47F"-V9EIN@NS:.-,WJFSD;<28[J)PAXGR\>UIY9<)?RRR5P7FS9"9Q
MJ?>];OONG5&ADYJ!Z!W[GY+KL9=*T!+YNGKRB(OCY]^T?*#\]@8&Z!7KZ=U_
MHUJ" 5D:92G-KBG38DO/3)S2=$KOQ$K"-Q%'NB;UX158H&(:A4O/J2(>_'.H
M_31ZF/W1YX#D2WH6+2KV*I*@"&MNR!)=\^^5Y41-^P--\*]RI>6I<K%5*C2Q
MZM"'V9L"*&3C7@4D=N=X4PNU>5O3OK/5BM\^$/CPOA8ZDLY,*N]A;M;A^HT
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
MV;>PFC@_PUSCY6><=\7^F:]F:6_HZ_X).BW^ P59GD>9J68BU^IW(7HE4"6
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
MAT$0XMYC)RE%"[@!1)?_'X&WON3\(54WY>P1KD%U.=:H;)4YP7]$@9X2T?-
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
MA)Q!0Z,-T2P^<UN359PYT&"#<?X&O]H :7R?89*^+:.VO0S.=F9%PK9]-\=
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
M_S)@[G+QMM0* U9CV!%7/\(&4/'>W.N\M,DP67A&1O.I^]22^+.FNOX>>PA
M>XJ]TR&!>J4H!SX+1"Y,?RUUY*: BG5^P<ER7KF(2.+[E!JI]18+(*X\Y#&C
M@0EA5@E_,U-UW6&7M=D481'_S?-4/HX@]1_@Z!K@H6__?Q[I$FF6H5K5;:O+
M]TDSG3(3DVX N$/QQ.7&4L,3I#2G-;R(PR'DT/I95.U9=6%#FTH44H36ENNC
MXLND^.]HY3W8>%+2^P(4][U/$D$.>,N#7@P=[TK6TI)UVK_IB4'!!)>3]=AC
M$C;UNH47S==_^@R#S1](1X/%\Q@:-[@@/&]F*Y#_V4&2,*_DY-X# !5Y+VF_
M%\'BG]-*O%YO+V\,1\C8P%4Z/];O:!"UI;"ZZ9-N93"N$?R>RP^.RD@QK/ZQ
MLFC'O?_=9Y?+. $P=GL@:F_T][3.92 [J!,#_,-9M]W.R9],/A0@%+_"LW81
MWS6$NR>M7N'D?M^BTX8SU*_8W-0!VURP;MF@4_9UE2/GR_D4\+9%MJ ",QI
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
M9,7BN:RBA_::J4VLV&:[@O\)FJU]F&)458]K&9 E74'C;[%*6D=?9\"]#'?
M]OF5X2T0)7%7=\CK]$TUF/"*U_C-K5ZCFHI26-2&5KVN'0^N)*8"'L![*82U
MTW"@&[3X.OC69$^Q!>Y))_)<]MCO<?-J3>=XLX2 YCB[DK3\'\#^$O*02C/\
MI[8C83WHT.;".</GQ;MLPCC]NQ>E.;\4*)9>R3_ R-W7F[N=QT((?*78*/Z2
MZRT*/*E7&9DBX7(VCG4/<G80UD;^$\&5A .P$#J X$ 42.?'09%R:E%U%+F_
MQQ9_BONI>X  [>OZMMP5\TUH!U&NCM76<RYK#'K01Y>B.BI>'/L%^4@"!DK9
MWGY /P87R!PXJ$(=4_.M^].W''('7VK/Y=[W_(E9!U 3M?O;P'(C"4"DU9VR
M9FJ,*5JB=G?" 7R!,U-=]([D@?OCE;S\U!A.?/(;&WD4_<?SO39I@+WJYOTI
MAH!X8X7,K/&P^]T;6?"7X;R8'L4FKM$M'29U4?M\^H[SIW,YITJ3M65:?GY^
MS)E8+V4VK!Y<LHO6#COW(5@OADM_S(Y!8O\S/SR@2_YY^Y?!<HGX83IAG6@L
MC8:@O&B.?-P!S4&V:#1X_KK:!U]\J?;]L<I/B(7#'J(]]<[1B(UO(@4 MO0T
M8!+?34P/$6]FQEQUI#MV[-?^@<C*IZ5E(4F#4*_M[=BBIUZ&)R@/J3EF/TG6
MVQ=%'NLO\*-V$HXX(K4!AE2[^QIOWY2ECO32#%-F!?M+_R)LFK3AO""XA*^R
MI,!]22;Q!?Z,?DOT?(CP05@]A,HD^!(K*!FR&9+L&: 1EXL"/Q?=&T&8==KF
M?^G,-^./1[&V^ N WSG'U9NE4>I\S;R4>YTU":]%-S0S<:2F-HHL%,U(OX3S
MBBBUXVRHB^#T2I!4"1>.8^X"@* Y,\8)[W6%=R;@MRZHTV^?5HUILQ70>;Z8
ME^L(;1 MV+GCK!4D$2TFUOX#.-H+'ZFZ,;B0>MOOM.G3JA5[#&W(;?75/8/*
M0 #;X4U>@Y+6-KJA*F_:FL4KU!#L:2#9\K);=V4O1!L4_UGJUIBC<%.R6;S#
M*3[8@.-T\:5AE/@_@'!Q!G9F*WM6(D/@    L#-\@G:T-Z^U [(W-_KM,:LW
M[:/2?'FC&<G=46D$9>66A(9S@?X>7CST?VE=(/5^\7R^I@Y7D,S/R XLC<VM
M!"(Y>ME>$/V?FL]_JS$_>3I*).5(S6XJD\2^K\F3<)47^K6'5H^2QDK7,AJG
MCO).%%ZH,>6P<'9?PFCZ_%>->$*%J.?1P_#G$ZPK5?W1\/Q;@<*:D2+UKV@3
MNZ#P_2PVS"\[++[\AA^=;=)7+KS__LVJ0\SMQ!HDGVZ_3SC;C38WKSED4[P2
M-Y4I*,#(=P>* AVG>\X/;]-)D$[935HK\BX[K=I$MR%)@0@FO5F@AMQJJ]>5
MIX/-.7NJD2/"_4CB]C8[_HL/(8:IVK*%(I)*>@CVH$)0_]KO#I#@U;\AW1&N
M>(Z*FA,CU/.9J]KK;-/)5OK[>VA33UP+BB]^I_:"2@I=X3% <T'::>O!PA!R
M[6_7&8&V9H?"$K6!@ .@O[*4S;):=R,D*8 ^P8!A#[Z&'U'-\9?C+B))D+:
M0)KI/U\U<&_8YF(\_= &Q;A/E[3GY=^YQL*?#^S^*/V9:,GHO#8F&XB/ 0Y3
M_(5KS],;S@]FT;]WPFPS,-6F,U8%I0)',%"Z[T)_9AR<ADF57.AUE:X1ZOTA
M;BZ[9>S:FT [YQ.,/\7_QH:9%TDDOE.^!C .>1_>DS[+#>^RTNE0K\>'--!H
MXU5WT5#$PVPD>['K1L1$NXF4D;C?%ILE.F+V^.E^1Z&/:9#\A_@6^[4U+D9U
M,<P?\>#V"Z??Y_9+*4;@,^>[2HI2+463@=2]!PN1RX.)]917QEY&$MEJA1[;
MDF[%\S8QH])YBX>\@%6,QX8NHAVPV=UP70'&;* 84^K6<1Z3C+I&NA32[E&A
MG6\F2]F69R0&N#;1LQ,6!$!_18PFY^)!.4&W4<;89SSI,UL$)Q9V(&&3,N.T
MEV0,&07GIJA:'K9'3&740KTK\]1$^);(AKT91]OJYS78VK_'/6\MJ%@ =-WX
MON9&\/JJWH=[EZ^>,C&UA2DC*1M$'NH5N5-]*/-A&9CR>PA<+!RD40C&O84%
M9745J=.'=GPG/\A"3XLM-T&WLW&FFCB"" O=A3[<=_8_=\'SNOEO\:.;SO1M
MQFWZA%S+Q&J+VY\JU.JP\>-!=FW -@JN#F%<#,?0QR\U/L(2"?Z:C4MI*,SV
MFI>WDM?[1-=1_"+^[YACI !Q6W-]@TJT&6HL!<;$>L0*""!1$2:=1_,K(%1U
MZZL_SH[S3?QNAOS2E#VAY+:+XN:72.T6EWJI_8->B2%WJ>5<L;1[P$1%PYY.
MLK@]- [._U1'2?"50PY)P1@AAR>2W=M^85J!6=,%1AKDO&V<1>TGO Q2G-VY
MBUEA'PLC$DDG;'7&P.+SJ ETX?7[;L+Z2Z&K%1$9W*CB3:&5U^ ?</558'QE
MQ#@+W?KOFJ>LA&@UK6A6;39O1Y951ZM3(H=)CJ4/&-%'(8[[>D!=3<A0>=-$
M8C1_8WO_=G^A, 4'E**([YC0FPG55+!C<9\PC)1DXQ3O%-JFE99SDDXUK"[Y
M*:D4I=KU)8TP4NO[;W^&%Q77&.;YP1H7%(@?)"?,TS_@V)F'*8JWAHKU_(4I
M9H*UZ6:33'KHY-.+(2_6151SU!$IW,WPXP>&?X#:=J%3S3@ &FMMMT=JOG*-
M]RLF^>2^K^=)3AB*;EZN;51KU?VNJ:_;CF!:,N*)@;_C?77:%UQ=KM>9Z&-5
M_)&+*M$"T@C#-P&7VA9_-]Y6F*M8I]:%IL87<48%:A;^SIY<.%KI&"1H4')R
M?[1!LR\!QQ?3OO'FG2:,2U(%.!T^DR2JM$4ZF5AI*^I$V\6^A[N^4W!L?#X#
MH?#*+#3DX\(U:D.=Y]32>QR-$E<"HR'55ARL?-L?::TXI+]FX.&?@0C0I"JS
M9>;KG=H1L7R7:HAQP@D!EG$^SS,@[C.?J'J8?R_@@%9J>N=E^2=?3B6RPSNH
MWTE)V&]:FQ2P+_+W6"$ZGQ:);XM<+GD/)OP7H=G:?7;?"N="T=S6;/ZL"90;
M$IK!5V:%)BQ,?<:*1B2H)%;53507<SV*.3@OSG^API\;\6H:G(R),\QC3-KP
MBC+D)9;<N$WR,;)Y.K1L"9KGY.:Y&'F$Q&KG[\##HE\&]7L_R+*%7GD-\W=S
M+;VO5E.5OR5N?O/>2:4R\^-*E$MOBJ)M(FG85+^3>3F#X 9 0_:%T";<X]N@
MO7>\<CZCXHUD#8WL5*J4Y2_N6 OZO$P;98Q=TM!(A?-']9BIC9EFQK<J?E79
M@\6V4?[U9&\C>4+"2L+PTJ0)#G*KO\:#NR^<#DE^+\7;-HXZ+XW_1SQOM)2M
M_B,>8;PP,"0WL( A;IJNNQ"K4F8IK^(?P)8]IBRG9.VKA%I2(U:VBKM2;@3L
M8)]WK_X_; #64OM41?4F!:+$/G<COHQC7M@'#F"*4R+9+L>2U#P_'>2>"\E\
MCA ]9L93V>I:$EE6H:@;/9@P7+&>VNIHV9 1BAG/&+9Z)DLN-3R4T/>)!FL:
MFRI23+ )0QD-7.*&FW@+V4NT@*^YA[FDK;[G47JG%O2)K@QV(AK^_N"[>+?U
MOQ1WUEU1./_;7QHI >D6ENYN)*1<NF'I$!"66)"25E!@:>F6E(Z%)9:4EHX5
M=F&E$1$DE)#P]O/]]_< [@<P<:XS<\UKSIQY7UJ[JV>=9,EP'],,V=-Q_,L^
M=B]]SC_KID:H)FF^D8H<226^^5+RY@ZE9BI2\6N:#JO"1V!WD.$/T1\UQSP)
M*K,[#]Y_3"/O7#_')0W>8=K;/>WX(#+R7H$&NM;7Q)-=[QLT3#*X+]CFO2:A
M2" WN'/"5(_]'ZYS)1DN<B5\M9>A!X6&3_?0#?U'ZS0QA62!.[A'<#S7*Q5@
M^R)7!TI:$5RDLH8>"WV0-!62HJ)-SJAQ:5E4"GNYLYNC\J"CIWN)I\!\:=67
MFOOL<A1?^)%/XE-(P64YE%32M217VF7MZ@^(U"\[GW;G\GP=R]<>^CPW+B:V
M94J7WS9;CX]9*_+D9[O7UH1(N(97E4J.<*V=5NO32]^=\0#ZW &M 1_!H338
MB$$P 3,(H,\>S_A2D5P](L"LJWAJ7+M@9\MN Y=!R 4/X%<0YIZA*\U](HS,
MU]S+R$<UT!7YI3*!N88M\)^O3<:5 U-*?83A+")R];Z/Q@1"9GQ%/@\K)+**
M&4#@1S:@EY9D9JP?7+\#&%0-PQ]] 9F>TE5N3EL:S#DO.G6#<BT$F7MZ=;.J
MLYX16C]\CP%[NJ]G]O@030T8X4]O>-B<[?UN[S7#3ONS+M@^Y)"2J(BTV,$5
M1HX^2QN(?:AW;H$92O1U0:;:+#MWB=73FV@#';$<SI\B34G4W =3G7":B0>&
MJ;ULBJN^G*"M<KT?S78HP"Q!^QH"_ 3(*CW(&C$1<!^_4;Y>&6\4,1?B3+LD
MY$Q/Z7%AF3X=4$-PCM(K\[3+(0X6.6[4>8*]]L"K1TE1U6$/<J+0LME0SP7D
M/*D_%=E4G KDV]>A&;DQK/+ */6M;.L-!SS'>KGJ]8T,1-(EE^C855[I7<P:
MQ<+#&RZ.\_R3</6^GHZV&]FWK(TB!-A_H+@_F<*#B*A_$$@-E=\3TU(=LQ6I
M/*7VBOHQ[U*)T>>^JVR?$K=S8+#W5>XX2GCJX\I_65)FI#8X#?!F)U:_-)3J
MKBH3F'ETU"+[GOHTS<E&E8M!CH1B.CH.\-J.%6H3G,R]%&[V1\]&>K7-NA(A
M^YEFA$YG<+TS=]@)^K_+O(IQL0+Z_WP'&T$I\5=X(=@B;F7)'\.>CC)WE6*C
MLW'>>/<TZW+)#RJ9^UZI!UHU<O;$,X]VQ>XV.9]+*Q;UA3((14+E65ABQ71&
M'Q 4RR2TL[+?T'K[_+2XE9@E+Q]M#>4('V9DI?_),+@OYS+RW+.8;ZDQ7'SS
MRKP4@1(Y9C;HSOY-ED0^K+.G5]MZ_%R<A?S33W=>!@Y6MH0JY0)[[+J:+_GO
MVR&O-XBT\41U 0!#;>;0OJ(V\-1H/41;J[=W2>38L3-;7_UAFQTALL!E+!;W
MQU>XBY :@-(J/5;?[=ME_NV]; ;V_GZP87MA(P/\RJJPYCWRW:XMXC+MMWVN
M?6G+R_T$:;G?BA/"R>DMB[])7Y$F:2?TS=W[YB30?G(*S75ZQHHQG)(-+Z5;
M'.AC2W9?]93+#MWNS-X^:KO^R<EOQF-W<X4/\QGC75K0WWA"86L_$2P,:Y!$
MMN)==$4G[\[FSC?>:DUGZ!I1A!Y:1U+-%T=1'=J@*E#!]'-?0;XT)QBDB0#$
MR*PE'<$CLZFS$?OJE&&Q\:O9Z5U'NN*GJ  RK0?V[HIN'F!\<7GC0A?VX.:M
M:-G=D_@DZ:SDLOA=ZD$RBP7-5U+0T3>.3?F-+!\'-C+DV&(;7J )BQH\3ZVP
M(Z*K'P+3N1"=&602+$WBK<7$^!31T6$QM@[Q@5>B^Z?D[25O+3[I6CF].PB8
MH,9,A!2[YSYXTWW$-6&YD6$6;QHKD#5:@W(@<U\D3SY*7XTB&YWD]W%^-WI,
M DPO6XE+65Y/KJF7(-F+5N1'4I79,K\6"I[R$>'L?O\7X&D;NS!VR9P@-TID
M>-QTJ45XHO7FRX?SSWV/DG)ZR+J+QH?K>ZRCJ5V.;_MR@8'2E66VW*C73E)>
MG.7@*OP6*<@B2QU >TLPM_,TJ/HAK&\@':U?Q5B)P'*YGJT+3W5ZYD7S"JB1
MO.'[?GWM@9/31Y(_\\H##G+\$RYS;^;?U_O*$ZAGVQ9^^E."?WRH$#(XAMVN
MZ9X7;A=F8I4UD; 5B@0S6E@FJG]3HV"UDNA0E2>2+MG4?W%C#N]FJD&D'*\O
M*6@S:T<;B0'IW([]C-=UV%_)X[U/&NOC]&)]%G(D=9B<?8$(RJ#))JY(L;9^
MP"ATK&(<+\@6^MA/C8-5R>'AK30A&5TP9>'4R(?^(E*I_D/&=_Y=J2R%Q80*
M9#*&;XOI\[&*H8'7]OCQ<F3ZH>*Z+K!,IG'9+=6*HI[SE)61Y]8AY<-/,,[H
MT\".CB2K^ZG<3S2)9SZ(1X2V+:0( ?GUGI*NE #Z,2Q_CD[_\H=Y[Y&<=*&.
M9'\!'D9N8K,?65B-V( S;7CC0]MHBE$'HF^9MK:S%Y[ELHK(I?ACCW*AB>9F
M3<>RR=-.P,I/&RI/&:-OY3I6Z_5/>;Y^SK"$NG Q@\2%0K8;H!HC"A/]G?/<
M$!EAW7;-EL3]R0 209N&,4&D) *K%F];*$,H\T5R\R>-%U-P_*]UKD\7?@[K
M-7W%=HO Z/==3FV!F5I:P;@.(JH<6?*E%+OW[%=!YEFN24;^4OSX!;_!Y=U2
MD''DQ-Q_%<9^2Y=!-HL$9LT48)13.628E8@J4T9H#VGN9V\1R]BKM5?Y6])%
M4(BEY;SO\\Y6Q.*1D@9K[IOQ\%G92=X L8BW\IM!^_AB/OYV%E7_#- .4I5C
M'H^>;C*VI4Y5.6EIX^/R4R>%S)I4QY9&DX;EQ,&3;0Z.?85W/;G56+!V4RU"
MXY)OTHVCTT.?".*JN(SQ%-\S+3A8,E6OKHOTZ6-MSX!0FINX;0OBW5=T^#"R
M0(9S+Z]92OZ38[AO@XBTS-QOQGSKK<S/5.68#J46'M+,]#336(4?)&$,X9Z-
M#E?QI*]8!7@6MV\XD,$>2S5%YHAXSZQHYF9 \B4M!V48P'=LHY=0D/%'-LJW
M=0KWFN?,N04P&/V._FZ.#.=:YF[Y%X,;(B9<V?.E[TN"B@-_@HD>:\T?-\7.
M/:"NKWD4:ZD%2I)1H6TRB,T:Z9X;T,=*P0N_<A_)'N^3*458 ( ]%:%D4;)Y
M0W#*TPO%,IZ<+AZU1TE U)U;IKWK\ V>I0H!\,(QB%3D&%LI:]Y)4*(U9K('
M>UGBBQ7=)^-%6T*+KAVR$C<<J4;%C9MB?M%TZ% S#Y\= [MT+8TZ'P$SHNHY
MC6X&?"K5!I72B[T$,,-A&Z?ONY5W_C@B+-,W,P1U):&UM=AGCWCP/V<+R5^K
M<OAAH.W)VI8H)!5A=8!(GI"EB97]B@9$J+FUI3-5?!PZI(DSYS.P7Y2'&ZT(
M]B7SI,O/?T$)ULFL7G. Z[AHM#W?9(3$=)#W1,_(35NGZL"3S+N6WJ]%5.U)
M)ZK[5/*WAQ&H8RQ9SDI9,EX5GEIBQ;XTP'O>?8"HV%F@+[9PJ2>U'E48O^5V
M.5<U1':YI^&D2%B1B"AY-=6?S61W>P=1:E;-#,(R0)QK$RWOH64Z.Z_/73PV
MCJ]5%8C#24O!*VKN9++I([Z"(%*><C]@0JY3[,2>K[GR$LNC"<8]>(.4L,J8
M\:L;C\J4T,=6+ ]VSB9K<**">WQ4 3ZC_J.AC8XA.<,F(<5[6,$0L'Y[1H!$
MLHK)4_^F28OMD.2\@N0R7=,T-;2^S8GEN_;I4#UT8PEY+_SB= VMRSQV3CAC
M22H4%WT=&= F_X1O!. ULEG$PVI@I\['K;L;E!;CSYO=*H9>$'K5(9AF8*?J
MTM5UG?)\'JY(CCM_%/B[T\I&*ZW^B\GLN?@$Q_B4EBYPNXOW8Z/DJ.47F3Z.
MMB_.S7T9LT^+E#"=%>_4T_LL]J$Y9"M:&D,L#']2_/M56FIM0Q*W9@T+]!+1
MPYB[2I_7.5G<LU,P!H(!?+(Z'T<MRP: [>LAM%V]#<POHEN\YAE/E]N2")[D
M7T H.-+HA&A22Q6O%+>RX!,ZL-N;*4QXI %.Q)=M"<50AL[HZ57L PLS,V=M
M=N 0ZK^ D6(V]R\OY1I917X3TXSX3)Q=_V2CL#V1\9,;&-AG5"9ON@7=>OJ[
M$9Y"7GGX,BG=ID\VTB:F8"YQ53>R>.O$.>@:PZ4K[;B14 TQ1 R^)X1UJ65@
MXNY+@A57JM' CK\%I-[UM5D?TBN/5>2ITV.A71<T,1!W&#=@9JZ74$VI,(K^
M$)T"RX?T97FT85_0\^ +U0[ZP6X%=2F=@[:9OW3M,\C1VPN=*O?.%.80:;>F
M7#"@+$)L_*NG;/D?23RC=\EZJ3%J"^&-U2%2QQ*<W-CU3G1T8>_]5B^N;]NI
M"\=I98^,QC( >!QLI53ED-(#5+[=:'X:,ANA>'NJ-"L)ZG1"*&9,IX_QEN*U
M._X%#(%J<6I?1%NIY#E?^K5GL_HD#57 5)X5870Q<"<KEN*L5-]M=GKEHI[9
M:L^T@IXZL]C0"G-3EIMH3KF]G" 2F+C;>C%@L)0B68FH5)MSG&N)-,&E(. [
M0@\T5O1FS\"_,.#H&_^%/>%<X/5&/I9T>DZIE2/'J#,]6/>^.<O],>*E/!$P
M<PE%5](0DF1T&I3C)7R4J/'(00/:C%'Y_)HL/?DP3\6>A8P58_4$N_WHL'NO
MKCRDVKA3-GM,KWUANQ",%))ITYGH*HD$X.,:?.T6$POE8.H_B0V)^N'E(7R,
MPL^0=]%<$@' 1J$QXKSCM:$DG4:J<N,,#V/"5;1O7]GYG&.WIVXB1D^.Q:X@
M-[&(ES.+,>DCAN4.+U)KOBL\KT)E&KYHT<F1:8;K''+XOB^7I)PTVM^3)ZM.
MW*QG'J;_8L_:4V#<7F)TO[RTD6@9KYDB99&GZS'\1D4FO%Q ?3/X)1 /_GK@
MGK4=+-6^B%X7VK)RL1+AABDY(0C2!''X)G@?]B@6+.V>ADBJOK5(-07A7>16
MA6Z1*R6SF*@$2VB!G3,S= &NYZ@N0=]W;!Q+.<\BGNC$JJ+M&LLCNLK-,?R.
M-]9[ZHEE#,<8GH!80HG@6Z<M<G<0<C%PG63$Q[<IVY.FN[R&*NXZ"-Y"5K2Q
M(\XA&%[=3-@PD^( ]OJ&;*-=[VSO2SB3'>U)E$B_5>TA"R9?@C#.1+W%LF00
MQ>KX8GD1=/4-M78LP\Q^!J[?'AZ,&0@*&-(<'FZ1JRSH2A6 E=4< [/*0N-Z
M%%K$E)+X3'ZH$G_"Z=KFUG#_M.5+LVJ3Y.85\>S^T@+9$9.]PI?LY#YY].H-
M>1J2?"/Z(7:,@[6A/^Y7@9W."\I/"FNNDE&5SXQ71.:.XSK:C@"^CN"4]A;[
M -[D<+T,$!#%9%=/][%:5TE=JUCKYFF?[3M&'2,U\OC/#]_[!8?WW-,46'7I
M0YI^'ATS2C\H0V!\QKE(QSBZQ@\&QB(-0@ ]GIO"=*,7BC7"KE_9?@K(=J9O
MP9H?YW$]YZM7\VX&%$UGGK-\8H^%$]=7M(%TD?%\QN1K8^,KF)P)[G,*"N*S
MBVV\.4LBR,LM]B=/E_/O9[9-O(2-;P\^Y'S66="942KC84S =Z49RCIL)ES/
M&>VNST])O= YLEDX\!Z9C"A:+?/\\^CQ2_/OG48LQ0%P2@^\R)^#-K1W]727
M%I<20'Z@4_*/S74@QWCCYJ5.0TS:\.O$E_VOI02M1#D0'<4,OAS@T/*48S<'
M8:UE<YR37);PSN\1+TI>]ZW7A5B\_++?OO3TTM)8XBZWMO5!$4EKFQC7ZY@!
MTI@9B9#9^#^N1@Y784'-K?,[3-8>Q8N-]0SD6">2\L 0"P$-]D+*%<)HQ2[D
MP](U-2%JM1#G[%5A;N,:6[X,H+S12E1NBI:A'-"=B%;^)!OFF[R)*)EQ(^6X
ML<5P/PZ*3Y>%!..Q*^*NX17&I C=JIXJ>J!3FO.5,ZR$D6TVO5,3#*8L,8Q@
MU\;90>=(G8NLP</T '/DDLA/SI9EF_7]Q?8ZHA3P$PFY55>.'R^%H)]G36-)
M"O%465/R2@_^*$F.N6;RE3"C07G<X3C1>(K4I131E$3>YIY([O(U#PW-?,4N
MH:<?( T1\A&;B%C7K\C-KL,EDGWN4YXZ+Q=!L+6US<R?WA%D@Z^[,!:7_S&R
M9A()PYC1L4IFB)OOG$8E;18/C7^[F(V@*R&_K\K5F=?H(=04E5NAY,*]R@3"
MXHYQOFAN)@N0&[]DV.H$I\,1?VQ'@&YV917Z&+L!O#U'<'1 F@ JL\+:(XC4
MI;KBH_=;O@R#LQ\7)CMI?=%^BB2[@4TTAPBFN\K>6Z9 "P13W'IB!?/Z6$;C
MX.<,HA,7YM##] 6X="KE"X6H!$C]5LKB#PGB](KWXIRZK+$?^73UCH:.]2M*
M^HB)!YC0SXN$>W>/RX+FVW=7C8:4CE*D9H;Q?X_N 3=<6S;(S)TV66E=NUT1
M>03CF6'<:[7O'!31TN0=,MZ%K02\O,7Z4-+MH[!9S53+_O9%WI17H D3U%RG
M!Q8/!H?Y&9T]0/<8*.PGH8IY3J5F(57KF!6K[_3!!)!&'RX++=A3UXEX^:\9
MYM%W/SGHCCJB%6X@/)-?M/0Y^=96ZE544W3M9J9<?/:X4UE>UFM?16RN<F;P
M/UYB!<9 "E7J E>3P= FB4#\PC#7E/C6]B)+*_$7+6\6CIH^G%QW@C$19\U^
MAKFUD2;T D'G7_!_C;@=M(K&<A5M+TH%NE0T'*YA1D_BH0>,0A7-R;AOA&.#
M:87\%Z(5Z_YAFTQ^WA)'O&NG<&__0B7?+)SG M:!BB@EWZ%3@>?GQ/U*MO]'
MX!SO/P.=^?4L)8:Y8>[$FPQ$#GE]%N,[I],!?X[[M_3I#<Z0=YS[9N=NKG07
M&?T%)%K,=\9IQ#.&W)5H ,.$8WG)*=NT%F8DN&FOW.[*?O0@RSU<T*=3CN4$
M25:S<9X&A>)\,PEQU\TTMP/]F&6=?$,T6:RS'5'BAWPQR-+D/+"-QTI@D3J8
M3Q,4+)/D);O:2._Y9GW*1+PGB)/@E'+M'WW_8HNM[6BH']M23&8")2N[95CM
MMCYQB\I?.9;PN=L7Z0G:<<0=U[EN!IZR58:Z-7CZ8ZRL;.E3=K<S-M\%IG,"
M"1X;S(42=,EMTP .HW"OPE![S+D0$;J0QKX5[AOO72RD)UA>-.<:*K;*\/S^
M_+G%/_Z>5LQMO)P.$<T;N=U\,_CLV(1=\"RCTY;,T05@*>J^W> 9N*U23I</
M[%ST%N40*W\3O?;,F4<=+%3KM\_L)]'U)*S#=5E)'='1S8B<SS3/\N&Y,5RM
M"+'FXG]SAAR8W'E6<7L477%>#!")&GI4%@K&EWTQM'F<;;XD@O^1"R9OC7=L
MM+Y$^=#?PNFD+]WWHV:-)H1SEHZ$KS-STH+JV@G9BY'U9@YVD=N6_HP)Z1G.
MA^5(H-$'1FJ$J805+9.NZ542H>7,HW-UN5>*8"ZBJSZSMZ-A2\:JB&J0A -Z
M=18B)=Z?X^V>^7DX+ZH02I)FZH_O?UF#5]EW4IQ5\R+UHQXZT:Z;^#/F>[ 8
M>7DI20: *)+(/FS)DHWHY&ZYHJ/-9DU*8H1&I!]2Z.8"F1@/W_<7,C31!69:
M+5RE#G_^:.WQK=L076*:/>JU35-LC;NRQ@4$GQ>&UY.]S=K^&=X5U@1#JG[%
M!*$65BL$J[\_LK'7?+$AB%'X"(!'=WV"JL=9#!#J,0%^]&]2S=\O2AW2HI6^
M/RT0K39W-G6**#M%-C&?]GR5-H]DO_*G-0/;;3JFK$O6K+$F,!/!1'^JF-3C
MX#NFC+9H)X:#Z-I]JS3<(&'9Z>B"ZY-T0FM#$=G9+@"KBK4LI99%!U*\Z053
MY=WOC@_9+7"/C('F.K?RY_Y%JZXOAQH9P<K! BPD@$<#*NS)KX5LHIWV-OX"
M7M@]RM,"/CE40)A$A!Y.N]E?B1PS[Z3JIKK%VFAZX9=@<CK.P+7T2A]<]9.O
MF?-"KD/P>.K_-")$^GW)"SS1?BK<KT Q-.2\:"/KZ\093*9PW.!VC8&.1K_V
M\.E7T10IW5\31Z7=,O2E$Z&]FYJF#V:S&;5"1Z%R\L C$E79C9.]'$A=WT<:
MB<K%KO2+68[D"D%X?U;/\S,D':8D;+F1[O/PG]_?6BTA*B@[^TGLMH%V>S!Z
MY[4"XB?A76TP&03([E+\_?]4RA=@%354R%V:3OZXA!OJ_&VHS\/P^.>H_U%^
MC9+PYJ9O@(\4J^A$M^,EU5V*<IN8/,&HV#"U@6&#^POT3)OOUOMF.(B[!43?
ME[7.IENY\IU)VLB,_W&G,[ADL_'9S^%B7M0M4=V:H2^D>D0YUA8]T\/0JJ)1
M2C4SO$$[_-8'&JF6"/CE ;<3($WR>@?_S+??GC2!2.<PFAM;=&9QLUSQ-\C4
M6>1>=EX&+C:P&R<$:0?-\6?1IT=?C;-+^A?OHSI9N8R6 _4C]S7F?X$(%H6.
MRQ-/ANFPHC)6R\AA<GF/]SFJ5"Y^?BO>A40/&4(:?A5QZC0(\2Q)![T?)$<J
MON$4 _%+&#*D=4@.V@+69/CPNA=_V0GJA'[57Q2J+]YX+0E6;<DCGB&%X"D;
M.ICJ_06\B=(\;^*Y'V\^]S6K7+S+D[7E_\ZRO4<TM]<Y=EJ=0*V=[\4J@D;C
M5>5]H(:?R:)=K=8U^$E(,G2<.L/+7_?L]LHF27M(K3O8KU:#*E>35E"?]T'I
M0@31GS/,XL_6WZ%[S%YG#XX3&:HD5*P=)%39>@:9')Q&4Z- @1[O*7+5Q<0Q
MB<T=%A^=A2S0M&U4H9QK6OC.2BX^V +_407GYEO>VL,PF*Q@H_6(KP!-B,T3
MX?"5%3\,M:>?! ->3V$@RQ=9SZTH2F80WP_X'?7T<8GIJWA<[:<9#U9U261^
MKB^U"%BUR#$, HZY%H2=408U[^@"O#M*A3P JB/=,9V_6:A5QP!N;63WC',B
M[83]G7._5GVMXKT2A+D\'^ !LKF4* 23.DY]VBYZCFR\ZHR=T5IY_JQMJBLQ
MQVR:6'"4IKSPF "-/SS[\)?BT3/PM+;A,GE]FS4RI+,]H5R7]DL0B:2X!<N.
MCSR!(>, H+_Z("PRD_13U8K-Z@A7'JMPF=5RX0;=8]6)C8 CZZ\G<5>6^W\!
MB>Y:=_M?_P)4D_9VV"+M0P'WN%V=2+<&.IB!U+<5[.KCI(D@4?+A!K8=OUV&
MB/7&^M7!M7<Z1ATJHJB7GE&M]3[PE\L$R[<\P7%H]E_!YL1&NIV*1!8W8SA6
M&W-$>GU4)PL&O X4!YQ.?+DZ0N7K>WA%JYBBU9^H$MFXVR<!W$N9WVQ<FX+4
M.MWAR; 5>>8)=ED.-B^8G:GQ@I+I1SL,LVQ[=_^B<R?9F9[5#-63H.'H6EE7
M%LHPB'U[P_:A8H/6]J>P,)"K=^-O+MJ1WO6/1=S#U-W'.$NT!)*O;\$&D;:4
MY/U73V_E=]8T_@*([[-V;;,\%W_X;YE4"UBY[ WR,A[D9T=1>%C*&*T:?CA8
M0*N.;,6"S#RVG76YS6"XNDJIIK8B1=3"EW'4BGS"3&/@OK84YM *\2R0YQ*=
M\"6&N%^1[/>8Z7M#NJMX06*Z3X9S/Y8.T'&W%4(I=<!'T8-&D''()V":+G2%
M.:B3*/P/73I/C;3V0CW8B.$O .05*'&ZN#\:,O!3\R+OHN!&\>JYF!TZH^?B
MF/KIL&_RVS)T!54LH]F91,/DUZN"8=-#NJ!NS=[.E,!V*+ Y>P.2ELDE5<=9
M :8O:O@<-.-OMPQPCAIBW@QXG';EJXT-=NO[1&?P(W[?-[SPSUX][]M N3UX
MGA1$V:W-+KNQHX:)8/^-W+4V;Y4"JH@&8,%QXAL7-]?-QCP_,A E.7U#!KYT
M5VQ#R,_*-W3_+QY"7>(3_[S4(E"R?=CPPFP*VD)089K"D&5B!?53%I ]R8G?
M <=E?D*#DO+PV^);8=>-DO$^*B[GLKQ+?U C-#BP>ZJ3I7??[ED7K-D<Y-^O
M:FGHWIV?G:T5AYWKJ9"=U D*AGAI/8ZMPW.B?QQB%&F_WBL(303L"(539'?_
M!5S 2E:I"3I#4:X+V8I3V4#^PB<<[K[$$J4/;7]9**CD54[X\Y14V]CH0C'[
M7B%TDH(!GRD)MR<.O[\XHL')[V.=IQ[:&@R$*'L?.TP5K]F4IEAL'+N-_B^K
M)"TD0(/:>ES*3DXY#7<YKO8Y@$)5(S6G.&3$<UZ5%B*%(7T@ FQK[>AXE4?6
M!A<78+3]_9PC?&SMW!I1S(!8)BR[*Q<M_E)LP[[.L[*EC7U7._C6-F,="B79
M5#\V5J5M^G4C;#+?($VJ^*K'G0,N2R7TS@\J44&%^JB[&?5PFO232%R5DD'Z
MZ#@J/<L-YD0#@]+X$?DL-V@"C)(T%CB6HN!."S_*^U:X;IZ!2W,\  1KA/[1
MA))S%B)-&TFD/7S>OS[K\QHB;FQLUS7O"AMS% /.6NOX]N6 ^P=V^C0XQ5+"
M'-P9Y )CD(1UCWYW/7")U=7U$S*S'":+HN!0UMV9$B_I)8_YBC/U^N_UQ&YD
M6JH<A2G7=>^-".R>Z#4O0"(_5ZU@K,''PKO@IRU5AJ9Q@.<U$YNBY-.*LZ)O
M?U7G:X>R:;7"VB3O]G@9@9?*A\Z)@ D'TJL(DVEZ]47<5?%7YG3I6X2\_OQC
MDU"<\3'.AN\*%D7U8%*(P1#J#V!PV%*LOI;!%2\>WSUSMA?\(5KBO\>UF^%T
M$;BRQ,LLE"Y^1WISD+E /53^L2[@@HBF+<17O1-44:*Y6 GJPD>07-0,N;,R
MGJDX2X3^+\K:17^3G=Q6$OYOG;FYFUN(NC'3D0",H,AH -XB;=@7T.(/'Q$1
MH1\0R'Z7@'L&@SF37=?H%B&846ZVX=_HXLR#6'K/XN<GV!2WM)9@&7$?YT_D
MF8C"V(##_( 0[4\&<VTAP;HN)&_>%?#-9I?N$%R' ,YCL!T>I23BW_+-C.S5
MV/)<T[!MTDM>/F7NPI=)L/#ARYD HZ9X.&UK_$2@OI2-FF@1#>Z\C#;OY;)_
M-';[OZQI^?7@(9FPE(*/(]5J3M4.WP5;7\V[LJZY/NKQ-!E+.;I>KD$*E_$4
M^+KP)%1*B77F.8. 5MFVT.^YCPW['<)6_G6@[S6 HI\@.;BPX6X5FI6:L_/D
M]R>;^<2\BO<8JR@3]B@M9#2N.BXP%WZG@CW77VRL:!$Z$6]3;5:4V=[EG\WN
M&@4 H^DS8:AU&IQT^C@E18+A8,IO3+8!(X_SY:EGQ,;W&1U5QWV(E$-HG^]K
M+S;ZEB\!%W]4+#TVX>C.7K?7N4]>HGA%95E32A$\A*5!G!R]KFA9,8S@=U+>
MH5.GRP-1X]U.&4BF&.J9CYSTO\W4BY"6$A;W9C.4/M*L<.:))-S*'52B\%^Q
M:*?!R92-0RK[!:B\KIP,SWHMZLX<>>#?+L\>Z.@8R$#S34FR%#W>"OZ6[RW2
MPD!;#D_6@>WS$;,'[IPN_B>D^.R;6SEOD_&KJ&<RZ>-N.BIC[-F-6J0$HSAC
MD?"O5QJWDNU?[JFFN:BU6N1N:*(D<(E-S\YPS#D"K[4K(<:JC$%AH,&/$;7N
M[:ZQ/(C61%)?P?&XQ&R38-;5E2+<U/?^)M^9Z-+K=#)>V)@G[Z37<4I/=^N8
M6SE%"U'@L$:\N/LG'E%<N**W[6#I@3_C8YF?NZNC/1^4C3:@U9T'!E%D(9'Z
M$LKBOX3%Z[DRIT&FGHP)#B6Y/&(/>0N#I>LT :X.5Y&3FZ+[;>TM[<LB1_FK
M3<DU[FA5!F>2-IR8T<VY,#,;WCCX.J\J$WCE8.&!RX,0YS:KA6_;!$424)W#
M#*]_=CGE0.'Q(OM9MTPAW6"2=<R+7(2S&H^*BKH.$0S*7W*2=!5UU(K]"W#R
M+/%ZWY41U:J])^^HX=:2F3;UL(87U5Y32M9^@GV3_'SBP\$DRN'TNV8M'I'\
MM=QUZ#XLP'3E@.EY]KG*?S:KM,-H@R6 C6OKK^#)31P>6GJ4DE6=C+W%3*^7
M';R=R;75+="Y#]7RVT\![RD5_]N9[L8+@>O.-&]-%X]$G;6Q"0$DX[7K$GAX
MKR?VL8W_E/^Z>DE]Z'SQ/02(B-.!QW$(G&8#)"6S%5.)&,P'G"G"4,G_M[8I
M@4:EYW2M2!6*KMK([ SU'W@['+\=]9_85OZ>=]+TUH8YU^!U96YCH:Y?_(QR
M:R<PWBDU-]:0=VE>$Z 3+EO&>+2O(%+HUO%V/-:PM>I;^2 SS?:N+;68W,Z?
M!7;R;]H@)NOYP.UJ0JPP>6VH6F^0"^/E"(T1ONF5]B=+H:,G;P/SK"]^2EAK
MC73 1*#(#3]E G#JTP6GI8JE#XM"&??FJ]P+F-*L+P#'/@DMP+9R'(T1'GR=
M2V^^U$.J5V%AE!YRQ%I/2IT]*J$>+1DM?U'_^\0]+EW]GU6\-"<#T(D#\,AD
M3RY9V&WX2DFI_KG>F[(DS<5R?IP.]>P:F6%='O$Q$I",934OJF'%$Z5@_@%]
M@+*X")K4I<0,MY3R-I$ /B0":OJ8YDQ0W_\!OC3D>%R6BO3I W$BCLY19B)4
M0KATZ70U3Y%(0M6$<T;H1^^+]-RLZ^O8;<!9Z*64L2K5]#^77YL 9EZ]TLW:
M<0MV;TU.$F/ SY#GH"9"-3A\R[>HDWKT0L$M:Z=C7ZQWI'O<18GEHZ/_7. O
MFG^GGN50)(LN5[K2DTK!,?X\!NM1DG'_'"(6<33R]T:8F<M@)*TMY&0&)A9'
M*,2Y:0!5^:F1.=;U;\)CO5<17OYUC%MOGX(EN,Q2[%C9O%R-"%>X*3Z(#SIE
M>8OS5@$.&XZ$&_!CT5B^IZU2K<1S(I<^():7O/\US___E.+S\._J_P-02P,$
M%     @ .8-66(_H5J()P00 ]K(] !$   !R9V5N+3(P,C,Q,C,Q+FAT;>R]
M:7-;27(N_-V_@J\<]_5UA+-5^Z+NZ1ML+3.RNR6%*-F>^V4BJRI+A <$: "4
M1/_ZFW5 4J1$B10%" 6*BFYNY^ LE>N3E<LO_^?]P7CG+<WFH^GD3_\D?Q+_
MM$.3/"VCR9L__=/NWL.G3__I__SZ#[_L+_@T/G4R_].]_<7B\,']^^_>O?OI
MG?YI.GMS7\88[[]OY]Q;GO3@?9J-R^CLW/;K<*82PMU?'KQPZN+24^WRU,7Y
M4T<7'N#\V?K^:#)?X"33Z?GCT>3O7SB]'4XX/SO]_2?G7WB_=O3TU-'[SUU7
MML?@4^D_?WOY^^GID^GDV=$!S4;Y\H^5Q>S^XOB0[O.),%F>>?94\]%ES\1O
M(.__YQ^_[^5].D#X^-6/YO &\?#LDQ7G:?C<R0'^O-*G)_/MH=U^?L73\6<4
M" U:GGXR3X\FB]GQ1>K-*?_T9OKV_LG!"[<:O5\ '[]PH]/S/ZS;_<4,)_,Z
MG1W@@AFS+:L%$<[=F'*!^5&Z_,8G!R_<>#Y;?+H8_,<+)QTM9I_EEWB?CYZM
M&(TNOS4?N/B^\ZE1TG^):9=GG'NQS[[4A2L3\XFZ3&R4N$_O%S29C]*8@ 9V
M&I9Q#NHG<?KQV1N:7'BJ&1V.1V^:\,\.?\K3@^%F4GU8<B;=Y:_Q);HUAE$@
MW;U?_V'GEWW"PM]W?EF,%F/Z50KXMU_N+W]N?SV@!>ZT&P#]]]'H[9_N/9Q.
M^#T6\(J9[]Y.7O[VIWL+?KW[@[:YWZYZ_^2ROZ1I.=Z9+X[']*=[!SA[,YH\
MV,&CQ?3_&QT<3F<L'HN?#[$TU?9@)QR^__G><-<R>GOZH3*:'X[QN(DK\=%?
M1N\?M&O3;/GCJ!2:##]^D.>=$9/KR=^H6*J4*ABR&4Q(%H(M&90P10M90W L
MT!,\:'>AT8-'T\R?GRR>C.89QR_X2M/RA/\V/WG-]XN75'D!_F9C+923@I@E
M7UBB O2:H#A=2.44*]&]7Y_\]9?[%Q[K\J<L*(4*3 ^KL@;C18& .H$C6U,U
M/A=3SS_EPZ/9[.PA_THX>SPICW!!-WK(G25;_.D>\]&#PE>! [[(/A0\OO>K
M5"S;UWH'0\Q4)D?P2O$[*$> UB%DJWUV6D2'X?P[/)XP@QT_Y->8X?CII-#[
M?Z/CFZVRX']>"^75M9XT(9]K/8$+K(^,%<0\X3PHE:OV7NLLXNF3LG _>#4K
MN[/9*YH=C":#^%RVU,GYX$N23,)"8% [P. S$"EI(JI8K+_WZPMEU:/K/63V
M& TA*%]-8XD,2)4UK;5:,D\8[^SYY=QEKBT#YX[QS;?S01V]IP(5QVR%?QV^
M7>NI,?.KEDR0'%L%HXV$)'DILH^RJF!)AO+ITCXZ6NK!&ZZI]I]=TR<SS.W*
M)X]7318FDP;+;\V/Q\L;8G 0H_4!98U8SRA_8H\?/)P>'(P6;67GNY/2-!_K
M*=;&(_I$)QB;E(U6@-7\Q9C"5Q:1#6157CJ=8W'NWL[19+3\P.N_O=Y[Q$I\
M/GHP&8U9?<Z.>+%/W^3TT3_W*E)200P@I8NLW:A"JC6#$U:;7&)6U7_#JXAL
M8ZC.@&[+9;(QD%(6S(U:,BL)E]3-7^4BSP2MR4MT3!1*8"()9LZ00:MLA<Y!
MQUP_?I,7L^DAS1;'+\9L//A='K-=.FPO]GI.]6C\^ZC2(YKGV>BPW?=Y;<+[
M^,SV/OY@>C]Y;X5.R6#Y[E$WHR$@E"B@!.W)>U,2,<M]R7?[QP^/L+?/UHUF
MR]L_K[\3^[3/9[OS.2U>+T9C5G]_T$&BV;5$RRH54FF+$RH3O#2ME42%XK&X
M7(10)&ZP3!\O (6*2,6#JP7!")83E*S+8RP&>3V8\-1D[GJ&K3H68(N2+Q3X
MBQ&\G%4BN$RFLBRG<"/:?OS0V2FCA<>ELC$N!KZ-YL=/LC!&8.%#O/Y#*VM(
M2LGNM& V-"X@JUY>!Q6,TXY,%$6OX*&-8QM40@";"FOX9OE1Y\IW+5*AL2Z0
MO?RA[U]T>F;LX; [D&G^ZR\-"SV8#]"#;[,S8*,'#2/\Z=Z<O:UQPR'#W_9G
M[2F:LPFG_N1/[^>%/;?A\N>O.?PZGQ[-AM\&K/?@Y%6&%6/[8F0PC:[21L4K
MYBQ@#6Q;14PN&K2L,NZ=?I0&PW_ZVZBTW^N(9CO#8].E".3ATW^[:.8__O#I
MY>;TIJWZ\M?"-WO/SG,>+9:"ME-&!TT',*2^QQ#CP4MD_;?[?C2_]VO[]8_1
M9'1P=' JE)=>XAI7/N6)1Y063QG^S0:/<GF;MN /GD_HQ70T6?Q?FDW;_^QF
M9CZ#%3(#_D734'LT&4UGSZ8+FC\ZHE?O^.CQ\NOCT9O]Q15/>/^CM;A_V<(?
M#K[MV;HM<+9H?LVOC1M 2/[O[#IGQ\XH6#Z<>N(A7CQR^OOI3>Y?X)K+F:@8
M$[PN;#W9TC3-(R"1M:SJV G6U66=Y*UAHAN0:!E)6%RRZJ=';K3J+M84V6,S
M+O-:!U58WQ=V_40L2K$D.Z%[6_53 ?OM:,[X=C[?S:QMYZ-FS\])V>Y;_DNA
MIY.\*H%^PJ1=T.^CMU2>3GC%WS11'<SY_+?C/_"_IK.'8^3'&9[AS.DZFB^F
MK+A?TG@)]O='A_.U<H=:'7=41@Z41&R*G6U4C0F2,NQTL/UF :V.G%@W=WS=
MRXO5O;PR1C*8,1"]8M$0)3&BK86O7K32J&W TJMH/.+W?,O\]I8^6*"7H_G?
MS\G'F?_?#,^<;[KTB+>%-4DI9&_<0G0X()0$D9P"7ZLE=M04!=4K=;ZLN)Z,
MZ7T:3>?'\ZMUU[?:$6% ^E60PT3'-KHRBA.:R9$,L0O(.@.U%MGX&(/HCAS-
M7+/C7H[RXOELCV9O1YDN*N^7TV,<?X!IM\K?\EZ'Z!EU2)D8--7$3KLS ;)B
MZ"=)(OOMO5'L>@+T:G9$KP\?3N>+^2/*PT6:95@S%>7UJ2A71T69(Y)@#4B:
MV$(;WQ!V'6(#E-EXZ^2[]=_8[N0A_MOHUZS3;\>_,>;</\#9>4.UAV.:OZ2W
M-#FB^9^GTS)_1E=!H&O)_MZ"5[T]\Y]I^F:&A_NCC./S'N2+W8?/%_LT6Y4#
M><D+MRV4BSKGP\-\<OKMU$,4=1:,^YPFUD,R(R0;"P2V)I&H."6ZPWU70OP!
MUC>,_VI_1@SGF7F?L#/V-4C_R?3H*L;[)NLO(P@/,J["^F?TDIB08&OU#"51
M0901 0LE"LZ(&F*O-'Q)B]%L4 ,M>+=WR,[P=/;[-.,'JW(& *<S&KV9M/-6
MI1(NWOU3;?!B^8%VD(U99:M76$?R#^L. FW&G*DL"97/##,UF[-"%:)0!IB/
M E8JE2CTRDAM$[/>)$3P:L9RTHS>>N,"*XP:D6*OH]BV0R)89Z,UD(I,H(Q0
M&(A45;57,MU09^,;ZD)MKY*,P5=1=+4,VDS;@C"LL9V(H#-*;Y),-5.O9%P=
MAK[V+7N._W7@R#G&',FR#Y<0D9T 08#9>H8BP8>2E"JVVWC9E[GIQ71\?$ '
M>[NWTN8:E.1"S"!S=<NTA>1;P@5C1PS)U*B["]V<TNT,PK4-U\7QP^D!^V]#
M@L,%(=PM9: ICE_@B(7W(1Z.%CA>E6+8+?_%4CXD5K"+^(S>[>8AQW(T>?-B
M-IWPCYD.+GFJL[/X-28%9V7^^K!E8+5HA7#;$HF-.52AV.^7-B<PR4M 8QQ(
M(A$P^%+EVJW(=DB:SB86=!:T\Y;ERR/$S""LUJR$UL*7TK%W^Y:6//XI2'F(
M\_V64<3?FAR^Q7%C]FWA7^9:398O5[+7;;O9 R8F4JQ62F,3'TZ]4>7SH>NE
M^S,:GX2-3DY:M\>AKB]/:G7R5%.-3F$%;64 $]&PQ\'FRQNEJ:(6J$R/E/M"
MX/$D-__!WN-O-TNO\/TR@_FBM#Y&?F*693[<<H=OI2^*,5+Q14 ,/H()T4#(
M(8)0)8I<6<A#MT'%WZ>3-RUC\,71+._CG#ZD;?YV_) 7Y,UT=OR\/F4..CWC
M(P*_I#G3-3>5_(A1['@Z9*+MSF8M4Z7]N(K@^1>TS[,___[TX!#SXG;ZRR59
M':0+0()=':/XVE@H@Q;:V9 H%M-=MMLYUEC,F&Q',_8ZVPX9\TACE]G;"^8#
M\Y">^OC]J)TP[(&TGX<MM5NI+Z*WOL;H0&52T!(_(-140(>D7,**5;O>:'I9
M\AF^7T_R60?&WA=KD$H B:TB(O$S8+8(3@=7*SG+_G1O)/JR@WP^&6=YPA\,
M7H__P-G?:?'D:%*VQH66F4KU2H"J5%A\G(&8H@1;,<IH9/5V[7EB-U>)=_L_
MW>CAB@63SPE2J8S%0A80$(E1651.:J5=ZC:=X<LQQ#]H09/I6_S+=-PJ'7?3
M753ZNW"4,B+ZZ)'A86R%4JE%-PT_" 5AM$C!J6ZCTE\R&Z?G?%>3L<*])TDZ
MHB0+SDH!QGL'Z U!],')K'VNL;NHRWHD_9M)(AC6KF0[$).++0DG)79]#58%
M"2F""I14*EI*T5TXY6; YL< -56R,4T^@15^*'XO@,HA:&6C))(YEFZ-Z7>S
M:BL2^M]&TSJF]\Q8SQ8'YT[9%@^^1N$D*0DDL%5N8RO?%Y[15?7.JF10=NS!
M7R'[9Y'/@\/Q]'B9VS%K75FVQ5A>K\"U3^I\MC3V?/+K4CL?S5CHCV;T9/2^
M?6M5ZL]K'64Z^\SR-JN(7VYWV9Y6C4PNLE&AW)+WF2&RT, V6\=2K3'8;3!D
M]QW.RD>D'T1XE!=4]A;3_'<F_ N:#0TI6$J'/[UFUKB=9AK92#N4 8IH^1<L
MTH R18B)HBHEA)R[-=-W>Q6=!TUM2,8' E%3VZM@EQY#-N!%]9BTKD%UF^$W
MM,]HS-4R-C_2%X_?,S,QAY17[X82^N<3>L;>V9"0N2J';XOK]YE_I+FV&OMP
MZK>P6K(JRQ0D(%KV(!UK,)26T89(19&U-HANDUNNFT:6\]'!$6,+6L+'=MZ,
M]MO56J%M9NRQ5@=BA<7-P<>$F&7KM8/-@6#?,GL%U:LJA2XAZV[]_4W6C6U)
M*=>&JC>J$JEZ"84M2\LD92<&506J,DE70PJA6VNS/J_T6B[*J]9MD3VE21F]
M'96CTW2@=NCQ>\I'K91_B86VIKJ K$XB1PE!N 3&MI]";!7B!1.#UN)UMY'W
M[;;]WW^3Q7K2-4:0T2@PI11(.B2HUALT+E:CNJLEOP(8\*'<HGT3'!\O1GE^
MJQ,IK]?VKB_Z?55\Z0ROMAY\^]-Q8= WF[Y=9N5OBT(5Q*ZTM8H]-6P=LOC"
M,3H+*J6(AB0QR7JETEH+-;KQJJ4MT9 KC*];@K_Q"9)O+1F$CJ$X]-9VET:V
MSIX:6\L>'3C3/D:IDVU5T"VY/3AVGTH24)TQ$LF:C-V59?56EK"I)":3D(4$
MLDVMH 0%)-4B(6AU096+U-W"H-X$<3V6]'J]5_NBT/H;EEY_IZZQQ=&"9G]A
MS,RXF?CDO6E=M!^OM4/7#2-0K34+)%#2,W#1V4*0TD"QJ=;DJS#KKUV\J:A>
M+^6EU>U-%M/9\;DBU54QS#+D>:8R+D^:W:/QF!_PSS2A&8[Y&7?+ ?/M?+ $
M;^GQ^T.^[)51^^VT!$24="$#9%M9@909DI010@W!M'16B=WZ@VMCK^TDY;4Z
MXJ^9E%^G)E>9WX]6)F(_1J=8F(^C '9.+1052*94M.@OL'N%+SILX-SJH(X,
MVHM,$E)I4V5$=I!"4*!(5I6)HE7=A@ONNKM\C_8_102-KH"(I15;* '(L@P^
M: 8I(5??;\[?TO5XA>]WCQ;[TUG+Z3UOE.J2'"^IB7=C'E8"]=6[Z:O]Z=$<
M)^4T+#^]E:$#Z\@Y*JEE"E8F+":6?,:CHC@MG6G"WVUN_99LQ<O5B:$RJ0I'
M 2A$!,/^!"2=/&17DXU.J5B[S?]:6Y_QZZMM',W^'<='Q$J:<'ZT+*9[,J/_
M/J))/OZH@._TY'.GSE]2/IHU)W=C::4K,HLG$P_83_]@(%=UY[9J ]U>4=Z?
MC'AQSU>\-'Y^B+/Q=&\T".6Z$]]7: 2K56TCVH*/F2&:;=7\521P_&=C4C"Y
MOV!=&YWV<:; !Z?VT6A&F2'9_/GL)&-@_8BLU2!];T1FHBO!(/LKNA(8TV(W
M;>>22M!1Z*"=ZC8I_E&;KS2CTLP6'UN&33XDO?[':+'_@< O&'S/SNJ$3\I_
MY\N@W/-ZZ:4^L,1)T7#3PK-1.FI'C9#_=HT:YNWT?4*-RE4,D$1B:RIKAAB%
M U>=+8YJ$K;;K>R[C->;6X,/2:S?5I6:7-7L-+-')L#4D@$C*Y9H92:K<_"U
M6^Y9T3BD%8A]!.FN)_873OVFUGK*8D320")F,-EY2"49J!2,<,98U+>M(_$&
MVQ%W$(\-Q'8O" L5:VB2:@ M@ZB"+GFKHI.EV^S"M14L7OL)[G9NKMJYD>3;
MU%XPT::V0VQ:1B,_2\:,UL8B5;?5##WMW*P'M'E1A"F!K;YOC<M#;5-OBF@[
M$]IKY0L[?[U29TN=K!7N)B6VQ>Q4M=GK4K* N0"QS7XN3C,IL503N\MLVN#&
M1&\I.1UHYQ"S#\27LR*RBLZL"9)L/2X4^:0U8C+=:N?-ATR_:/Q/"E^&JBFV
M&_\^'?,3_M8*=U_@\4JS1\[%8)].#H\^!KP?'WZ,L\GT:/%H-!]ZY+[DI[^%
M,>1;'V^-#,70Q@@Y&C;8ALU 5#: \*A3*0FE[+9[ZK6\YLLKVD^<Y5N9:)!-
M*D%4@IA<Z[-&CDG:9LE4WXB*6:?N^D9=7?VS(&;S6YVG+"W#YH M3[G5 .?@
MFR@*2,F6ZKRM$KNSHE>T3Q_J)8]:'NNV.,-*)Z(B6VH5MOZ$L4)RD6F2B@]2
M.V*2]T:$#ZINV(!_P=QZ_&J&DSD.R1;SWX[/'_FHH2E;R3PZQ/'S=Y-UY EW
M(%?>.DJ:"B"U:D@E+(1&4I:PZ*Q)6KGNIB$NNT>W)*>3C*;SW8E?U-'_K)U6
M&TJ5L2HS[JR0B_%@*G\) C.@]0PEK NNOPS=Z\ZNW1:7T%958Y,22IZEQ N6
M'%\BE"!EZ\)>T'<G+S_21NZ&6O)75["V(;*ML;@9MG31!(C9!6MS4EB[W='Y
MJIKDWXY&XW(U=.Q&7%W6TE>R8*DE@_N4 -$GR*IEK!D*RG27-OH]9R6L*>2=
MI/08(E2J+ XE5$!5;$MNJ"EEY5WJ<M4W;JA6Z*M[:9)SS/2^L@]B)#OL*5<-
M3A=1;(Y>B&Y]]1NEMY\$,*@,4:CI>/KF^&7;:;AU374[B**47$G[BJ"M8R#(
MPLWVSCF0,65DE.B+ZG9/:Y,=N:X1$7@VG2WV=QG4\)]7Q;F=-P#;# \;U+(&
MTU(RAWK'PNY:#!9*M,$K8UVMW7KR=W-@.F(DCZP-6Q])=OLM,Y)!B(G]GB))
MENB)5+]UV7<;?'?;:M\='FBJ)17?^NQIA@<D$P1=6^TGUJ0RQ6R[]1ZVI/)R
ME1DPJH04K6(@T9+4LQ,0@B5V^'PAJ4RFNJ49,-=.,[[V_:Z9_M(ZCT\G0U/.
M6QFH-C9&)60%&>JP3V0@)&%!9&%B0 RFW\EH/T*0=$,U_MI:;Y( $4INV10.
MDH@2FJLM<R23:G>-C+H5[,W$N=EJ.XHLSKDDQDPN.PBNA5-=S4(;!E&ZNUWX
MS9><K&D*4L#B12E07'*M97&&E!S?P#F'% P9W2U^[:?\9P/6,6E?52D>2@HM
MK]BQ=3110)8:JV"O*L?N-HNN2$%ZN#^;'N!B&4 ZOM6)2 Q16A:,8[3OV@0<
M:X"ECE4@>5^US-52QY6\_:/]/W!R5/&D(.1WUA*/WQ_B<)7;B/77WX;ABU$$
MEM2$:1@S^1_4-DNHO)C1G%_QY)6W(Z"0G/;!(K;:I\HRJ5JS:19149VM) *2
M[S9/]Q6^?S&\ZD?-OUE"Y@L^^%?"E<R0^\*VPY"C/CM^\'KOENEJK43V&250
MM,P7HK4C3]*#]]D7IT66U)VEW=Y"VS6U\].Z%LP6%(K8QC4P#:NT[#=A%$5(
ME_LMG]F6SG WW3KOQ@"@*S4(6\"C;-,&,D(T-@%SCLD^)EMR=ZT0OC!)9SGM
M;SHYFZ:S*N[X:'#0)Z7;+7#Q_'";]A(8+'FV[@AI:*SC8H2@<H#HVIP79S7%
M[BC_W4ITKOTDUZO"WLV9Q@T0$#_*X8SR:$W;3AVX#D52$IJ-#6.ZYE<F#:&-
MG XB6Z>B%Z9VF6N]88VRV0&Y:\HAU92,"1J0M 836[588L1OR5#-NAJ1NE4Q
M'Z&+Y7B4):A0PNC5POI/.YQ>")\S'S05-_Y7UC+S,LK;9&:"MD7HF,&IUF?#
M,_F39G\T!AF=L$*;?@/?-W()7\VPT#,\6%W#KKOTR0^8)@5E5<IM/D[K=DT$
M44G6**&B-8&=6=-=$>KUTR?/A/Y<!N75N9/;24E?I4"E,F11*Q@TK!*R0FBC
M<Y)04GK7G9NP>G3Z[2[>)GIR1EU1)U'!LP2"T5I %*S=@U!H4V1'SW:[']UK
M8LNRC\N:W+L.6O<)56TEQUR8R38_($/4F$&40EH4@;6_0,-MB"C*",*ORI=S
MQ6!@:Z&:S37LV0%6)X!L*ME;HV5_<O_Y_=<S"#\]QO'B^%;NF/O60*E("\&&
M#";I!$&QU+F:BL:B@R_=6MDMF1&PPHA]E%90E1YB;2W34F[-5EAZE:-8J[4R
M^[M=E^]DC]>9C_:Q=I9Q%=RC*#'SB PRU=)2S&1K2%' RNA+<:JX?MLE7D&5
MI5]]FD_PO#[FZ[#?4);<TRYUK=C[MS/SNKLW7G_!OM!$_(]I:>2X00_Q%<"1
M\SVZKX0C'T[]MMQ*J0M?$JIK:I/]R9;/)X!_4$ZC*1W.I>]$;783)DS.LR^2
M)%A5&%*B=H#!9V@U8":BBJ6_AOZ?'=#Q:CHY_M>_'$W6';G9#/IW,J402QMW
MC&TB!W^)V5;0OHHJ:\A6=]>CH(O(S9H"[!2M%2PY,N0 1N@(B94>V"1M"-)5
M$MVV2+]6,.;W\;II(>RJ6D>X-G31LU,GVI@A[R4DIPMDS\@Y1!?BEM-BT_DV
MSZ8-T!W2@G;?L%D<4DIO97C<QNQRXLMA:$U(E$D06__&!N=S+E8JTVVR]):,
MK&Y/]KP.>RVW,Q$C^^*),L1J'.-!,A"LB*"-3,9:KY7HMLSECH -T$>9D[4)
M+%,23!M8%% ZT.1]B1[9TG3;'F%;$CB'W?JV SMG)77MK?MNG+^:I&F;)X"M
MN[;)6@.V+UD;BR(4<J[;[(HO#O=]0N5D',V@!+:%'D$E;5K;,';TL%7J:D@E
M6I"Q^JIBLC%T!V,W7UIX8>+NA1W';Z&%2$Y2+1X8"'FFA6+O*2<!57L*49IB
M^TQ$O%%5TW9N3V5!DJE4VE;PT&32 K)*@RI5KMZZY&.W%JYU&VBVXGSGLP]9
MX*RXG@[I/BUFMY:^!.<V$<(*FQ\:H:E$P5<L!@RB8P2;$TC!D$,$77U_;3_/
M8N)':3XJ(YP=-Y^0/<,AA_;CON1OF5F9(GEP++=^PV %EF\U,S4]PU/GJ@:R
MC7%<91N86X]GIC1IQ8Z(OSW:]BN@\)I[YU_K'8<+M=9)YW75(>7&KEL4Z4Q%
MFR!S/BEH8P $R3H-)447$HF4;+?-<;8BNK:9:K:5MN[U+L1BP8K +A\* XBZ
M0JQ:^%R5HG['#MUP)Q#?T 8W SN(DABK,I.;(!ID"%PD0B05(*;BT&BM$W;K
ML7Q9*[R8CH\/Z&!O]X>+D*Q0)5#(SJJ$4+)DE2 8C*<@& J*Q%RB4ZG]5K)W
M/WEG,ZB182$.)874_$U3? 1464/2#"-KJ('%OE>2;HW$KTG(.]A:BZ)J2LJ"
M&\:*2A*0&-M"B$YA4*A+[39F>JU2L%M)-4M6U<I^O\BJ@LDF0ZA,1*$2U6QJ
MMOV-</HF*7S!*[5%P[IS4<ZW.=U91&RI#RTKR!FH-8=@^8M1W3:[[7RPP;5&
M'7[+R]Z--(A61Y\+ 37?T"AV*9*A"+E*4676MI1N78IK[97OT7@\FKSY,TU.
MMM5VRP%KI?E V+=TTA7CENZCAV*3\VSPL0TC#@P30[5L^H5S2253O>LV*ZM[
M"+ 9><6JHK)M7H1OS6MB%1 9RS$$L([(:UMUM[4.6]((?X6^@4%ED@@*4.8"
MQJ3,O@'[WI9=.I55<35V*X!WG3^'ASC7P_/IY/#HDY*3CPX_QMED>K1X-)H/
M+1)?7IW"<7WQZ:<'Z8_4*=2&2E0P0<FN95-(9 _)(A03H] 6O7+=AM:O6TE:
MRH"H<?P"1ZR;3VKR5\4E7\;N?Q##O>E;_,MTW,:$[J9;Z8I%YUQL%>246NMU
M+!'0&?ZU=9IM"-^5?E$BSELON?:M\=%;1H,7"Q1/3OB#>8OM^.SOM'AR-"E;
M8Z5M"H%05"C.#KEKMM&FQ59#\#*84D3'972;MM)?:2#/687G=>\H9U8,=Q9R
MJRUD*(4-8B (C$S:W%@%P;&_&V-6U5H71>PVW_X+J5,#B1Z_S_LM4>8<!/T1
M4Z<Z*'86I:BDJH=(NO5@21$26M5*.[2HB8+O=S]S*U,<UK,M78Q2KAIF#-UF
MPSGE :M@BTM9"8]!^ZT*EW\:03X-6'QM_/A;GN(';J?GG"U9> &J394R: RD
MULR;:G91AFI4Z58MK!6>?9O$RQ6ZUZA4(JV@))W!J%H 4RS0XI5*U1Q(=YOK
M_KUJ=5>$I7^LEJ@V2%,T&Y%0+1CA6POW5CCLDHM:8(VN6]BV556"6U48*$S5
M$45@ U *LT9DU\(K"RH4F?AE2*AN[4&K#%\6A'\$HC\3@?G.(9=5)B?:'&W5
M&DIN37"ET&P3D!$D>X&%HDZVOWSE+_3*'Y(53OOD/Z]UE+^]?N'V#N PI43C
M7 #'J V,%052L)(5M\\F4RX>M[16="V*NX?&?1]'T U(?SW\?^'4;W+T8V#5
MWGJ"Z*#9C;0:@C82="6E74%%_4Y19'W1)C=_2P[ZMFAV:TP(QF7(+4O!>*<A
MZF*8#Y1Q.E.1>4N33+__1E5K<J:N)V873OVF=-,V$3B4P'(E6N-<9R&9XB$G
M5[Q+*/RV]M[X?N#H(HZ6H%;2YE123A55;HT56 M22_UAE0C%%>=5,,:&[E)_
M5I7DV8WO4HQPMDUU,2(RO*@I0$#6=E2#LT+R'TRWXK&VO<)NJ)/8\HC"5W0U
M)Z:.<X!H&G70HR8*H=^V"N<V+\]^_ M?L4UR._Z]%:A^9O]RV%:=#V?(E<68
MO[#E?[;QNZ784V2/.0<$9A1V)!T&P&(-8 Y*.9.J['<XUS6QP$M:(%O"TK+1
M6)QO9SF3\TE+0L6N26O[':. 8+2!*)VRK*1SK=U&>E93#=>-2"4I1(@MSU60
M;R.UV^C#E""RM8Q1^U!4M].IUCY2<P5P>P,):TD[F61!$+[-QU4,, +J )E<
MBA%]3*;;I([N2;J9\F%I9(J&24JI3:^J_ 4]*0BM3Z:M2B79'8#HM"_F9@A(
M00D7JH)J6@I,P-1:D;.WJTE9884HL=O8RI;MI'Z'8,^:1L]:D4NI#D1L!7V2
M-%MA7T$4&Z41?*_:79CTZE%5)T=OI52;8E66P4+$TAIU2(006E/3UMT))5MA
MZDZJKQ'7>3:=+?9W#W@A,FZ+'YN5E5:B:UU,&1K*G !#J!!$L#840E&Z;:GS
MI<$XSX\6;5&:)CN9C</?AI3#ZPS'N?8C;'%&ZV;:7">B8 E(._;'U-"GE:$3
MQJILK2I$VQVW7=8Y$-^OLG/@YBL:NJ@[O*MEV(C[)(M*T9HVA#!0RRPC2!0*
MJ, R&MKL -EM4.G</(DGK$OIW6X>BE"9!9@Z$_YQV?OUTSF2)V?M-1N!LS)_
M?5B8^7EEA7#KCQVV)('KQ0XOG/IM_9<]%B8E>&Q[:1(EI&(MN&QMR:D(ZK>8
M8+7 9;T [CLVUNS H%<;LRR>/7E-$0R2A^1" $6:;;K,V?37>'U[Y_&=)_C'
MXT2_0/"/3_VF+0A$U-X7"(H8;$=&#F@C0M4J">VE2;H[Z'8=O' '$M;I8Z#2
M3J!K/5N+8*XQ%A!S!8:7CFHJ+E"WNR6]I-ATL/\82W)%1PW*.L4^1&U#RI)C
M5Y%8)[@45>RV=58W^\CK*3EB6UMB:X_J36GNG6[=%G2%+##IK)R-H5M#O V-
M4G^8:80U8PTM-LM *+4>VRTTR"C$IH@RDS0^=;ME]MW:;=T9CZ]G+&MUL(HL
M5.=$ZQH:('BM04>I,C-7"K+;3+4O>8ZG_1)N,(/]5GJ0':!28UO><)MLA*T1
M?*D*,)H$I(-I4]NTC=WIL,_O")X&&UO?F-T)CH\7HSP_.?5V1A4,2DW51I"R
MMBZ>KLVYI@PN"QF<PZA$MW[F1\5K _%>#U6.5)9%:[>39EF)(*W,4$OKO)IB
M F3*0?+%N^)(:M>M [I-ZG4]([T$99D1!2B5(@/T1!!;IU7%RM.SN*5 W>:^
MW6V?W74EN]O):UW) FM:RY>+@?&;":TOO[<$ME:T,F%@6>Y5B#?;:&C]TP'O
M6AB=YU1=%065"7P;ZF=JT9"$3>!SL:GJ5(WNUL%[2<W(G*CREG_+\+UE5L_>
M?JY? =-RADS^6^GW:5V9AK% Q-H"CZU(W?L,2,HY;TLV6Z5T>AH&\A7YA*O5
MLYL;";*9?-04M=5".)"BY<%(YN94#)O0HBH:YVJHLE<>WHIIH]LW2U"%:J1B
MEA"I=4A6B!"4+""4* &I:FVZ98GK1"O9:+5&L'DV6LXP7WFQP1VFCD&3S@RG
M5:F,J:41D&()[)TGFZOP*$VW&5?=CC%;Y03A8BBEY*'(UF/'MW&A1A![HH(I
M%QU;A6Z=T+L-B4V#;:5)5DD59&,A(]A="$6E]D4%*X0E=1<QVZ8(T;4<*3:;
M'SJ>?9?8U!^-ZQ[B;#S=&QT<C;>J.8E*(?NH+,0L6J?B9ORL]4"Z!"U2=$[V
MJV'[[52\0ANH4T+K5 1/A7V4(%F!"?Z"NG@74[3);U-O\COTOE'TOID(5*M4
M+-%G8-S./"S0 ?^%#3-E$5R4,>9NH=K:^S9<^TGNPIH70T*%$N.T!(V%P#AA
M(&21(2LMG+)*B-)=QO(52FFH>9H=/WB]]^W<\@K?OQA6\R/>8#]EQ(S$A__*
M+'LK.2.:F-BKT6"2;/-(O6"?ORCPV3@;5!!9=*MNNFNLNYEX;S"Z.%L<9%U;
MIY\06;BM!4'>^BIE*:+;7)7UY+%?^_;;4G&YIB;N6>M0C /?YOD8816@E0%L
M*4ZQJUQ=[BZQ</5]O%>@MS?03=N89!SFUIO6#&#4 N8V*5SI8*SWUH@MI=W6
M=NZIFHH5U4 U,8#1,4'R+%BM%432RDL*:X\/?.W+"P=:K.+E38Q),\^!TLZR
M'R$U1,P&O/+D@B\QB=NU/?"ALSM#BVOO"/[H,M)<S:)\ !VT;].^FHQHS1:H
M^&J34XC=J2W*Y<'' T.65;;3R?&__H4=@:U9?<9Z K6$N#3X?.%05(88<B6M
MJU>W; _OINT+5B2F&^E8O\I9CS$J%*S%4R79\D<TH)$&0LJII4(EJ[J3UKM^
MA1U'&YP*4K*; -$Q[##D%,3H^ ;1Z)SY8*G=5LW=;E'/Z#UB=B!+ZYR72VYS
M>FV+0J-M<AYS=[W,NL2"&Y J'X5UJ@%WD1EXF-826&6^.BH1C)?5F6Z[F&Q+
M!*:#-/.H))I00QO*%-D:L]O<IF* )R:_%%AJOTW:[PHB-E,0L:'MIB2%<5F
M3H+-?&MD'*@(""Y'*PM1Z6_2T5T&<C^:#G6-(<D"/J@6W R9$8C58,EGPE)0
M]CO#K,?./"L,(<1DO%!1LW?H6Z(@.QRIZL*2'FN--6'*W6TV]=3L>J63DE$Z
MA15*ZXEG;/;0JB)9:&Q))I'*N3M_X,:6>#L-H0WHA RU!3DE*[(6>I/LO%'
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
M"LP!4@T$)DIV7$U4X&U6)2B!RJ]=26Z'2\:"IZ)Q!I(.;%-B3L#VA=U^XU3
MG'T1W1:_W3#K%=_0!A-?/QZWM*I:@R02Y0I"\!?CC66"8@0B6106HXKM-DZV
M)9[U*A,10XT^Y BE4 837&'U9 L3SQL,#D/<UAZ;?;4G.0W5O*1E*<)\?W2X
M-4R"(4@1? +I?6!'O\U-83@&-5A3I"S2N6XC,->$7[NE# R$XQ<X8KH^Q,/1
M L>WTB5)6=@J5059=-M\8\)BFVN$R:!F?R2$U&WVS/:5EZPG2<$(Z<C*"JC9
MF61GR4+,BK%W9$5>,"DGNVN&NAZ]O9TR&(64258!UFB&!:9Z0(P)O'#99Q]-
M[6](_>=S2,_E:[>CMS)BK"L9="*PUFS1+A<RA*0UQ!22=4$Z*;LS@IUDZ)\4
MZ1X<'BUH]A><E7<X:R6A>].Z:#]N5ZF&2E8P+\16X.68$9(%=I19C5@=1?75
M^]*M^>PX[/G##3C?C.'QEL&XR0%\K:;%HQ B^E;&8*U7JF33[T"KSSI_6Y5?
M*JU@SXUMO8[(^D/I"*DZ#9YL,3K'H%*W%+C;S^Y4K+6,H=AH@+ -1R@B,D1G
MB&>E*#9CS=F;7IFJ:XB^H7Y^.>I &$$+D\#HMFL028,FY;4I*27='3PXI=/O
MT\F;MB_UXFB6]W%.;6=[M%CZA ]Y0=Y,9\?/ZU,F^>D9Y3KS['=GL^;)7J/
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
M,V[:-MZ!DSMP<DYO9RNHYA2@#MD96#7#%(<@DM4EZIJL61DX>37#R;+B<!,
MQ=P!E*\&**]>[C[;>SH@D3N0<@=2OA&D+,[D?V>9,CTD<^Q<^F\Q[<I!N/3?
M#^R_#64%\Y;0O_-DQ/[$L@GJNL!%"3%7*0BJ;/W!E!-M(\0#L<]=4R3A,WVK
MD7H\U VTEUF^2R<+S7<#:9QUWVU#9 UN]-U^2(=[IN=>1=Q,+*UA:*]:!GF;
MYC0$@Y*/#H1V5+))M<:T&K%\26]&\V8^%L_XR$I%\\J7_QPAV2'Z_>F?'S_;
M>?C\Y8OO)ITW?MSG+W=?K26]Y\9/M.W)/3=7E/_[\7O,BX'+=Z9U9W;&W3LX
MWYD?4AZF^.R,)CNCQ7PG[^.,'_Z?[U3]#Z+JOR>D<7>QI0>6[^:^$%\R\:=H
MKA-B"E\78OJ4<A_?_Y(XPYI#25?Y"N'SH:0HHO!4%+B LHWN8B,OL@9;A(DF
MQ)"46XT[\'22I[/#Z;*KP%!.^[!-?I@=/YP6^C2J-&]G',ZF;]MU5K)%]/F=
MEC&VGCHWC#1M%;DE(A:9/.0V1==@H%:3IL&05C6;:I1>D??W"M\_/2F-SP/)
M5X;0/HNZ#"BOH@Y7P:[+ EA=*8;0G0/U6:=H$.2=Z6QGVGJZ[OS7T6PT+Z,\
MQ(NF]?R*K_8]FT_R7=]T=%Y]#2\\>X.3T?\,O__SRI3$%I'^Z4\O?]K[:>?Q
MP>%X>MQZ/MP:6E]47#O/IC]=2N N=4</5L8D144: =D$!<9I#2&SJ7%8HA A
MV&"_.0=Z:65V2YFUOIC+;[^/)B37R!=&[NS1,7/$WF)&M/B7G=_&Y<U/._)?
M=O:.^+H[[ )?P_2LF&C7DHYKD<U725JF"#F$5O2M,T1"MJHEH55"9Z;?2LGV
MD']\/GLU?;=.]^X_<+S8QX/O%XIMI/S,LUR9R?,%XKBL)%*!+&IL0^EJ:Z9I
MP223!"8;,>B5$F>P[,]G+]@%9]NWBOC=YU;EC]W5N-Y+@>A8+VKM;=+_C[TW
M86X;R=9$_PJBYM8M.8)4<]%:?C,1LFRYU.U%([FJIM^+%XXDD"11!@$6%LGL
M7S]GRP4@)2_:2 L5-VY;) @D,L]^OG/.^*#;Z^-<MGV$%^/PE%Y_--[KAX/1
M;G1PIV=XEH$;E?R_\9Q\K'LTO0<[NU_$4:V[YMP@TTN.%^.0\QRX,YZK)-"?
M=5B5\26&)\%VT<63M$J!V .D]ALMMF^$*ZQ;!OA[DQ\V9/W?_^-@T-]_7@2E
M3O1\FJ4Z2,D][P1 34F%T=]  >N!,(KTK\'6E]76=Z2B#O?UWM[N8*<;AM@H
M1D<*!\CWNH?#_MYX- )3)!S<5ARBB7$$+W)' O#VA[!_T']04^1[UK@R:W'K
MX]:Z?[A[,-;=PUWJT*C#[L$.V)B]*.R-#@[[_5[4N^UQO\E G)TA0=\'(.![
M\RZ#7=3Q_7[P#2?_3=O=YG4V)X7_.#1X ;9!'I<Q7,R92YWK*)A7>5%A"K/,
MP+/EJ%U_L#5ZAI8%HK^.PO+7]9%+CY]\WL3$W.&#YN6&!]N]FW#?@_[V_HUY
MN][VX&O3=B,5?IKD695&72'(,?UWKPZ$>)EU@=?#I#R+O,!PQ36F])WAB._?
MF/X0EPF!';0*IT&(,[J^SR5_$IN5*S*;+Q8SN&[KF[VO)[15[P1#0V2E/X=3
M;%,=@.Z!V\(G3D%];>S@+@3!US+^?6__5^-!OJ&=VRUC9^W+/?;+/8 BO!W]
M/U!9U,%-95$'P_%!M*/ZW?%NN-/=&6.OYKW>;G?WH!<>]G>CW:':OZV#*7;T
MHC\8D7:\NWHG'F<?T#S[>X@0^+1^;78"3,+@4B65#OX+BZ&PXB.@UNG?QW K
MCO51(_,W$<]XI ]Z VSVK'JC[D[84]W103_J1KO[P_'^2._N[MVZ%EI,!+80
M[HYRSE^_>G>G&91-.C>U<Q@=C/=P;O(NG-O^_@[F5'3W<#0\/ A'D1[NW;JY
M@6'Z5V*J$)Y]";&&ALSW@M6N-2K!!W^GBDC]';Q.LI%*P$U/P%$/WJK\DRZ_
M(^7R4)5ZC^\_;QPT_2%".Y-::"=XEZ5Z ^([;2#S:VF=5A6G"&#Z=;B]\_,-
M^W*+R.9M2IAI+?O?7<1PFD:(R]+!:!&$4QU^"F"=GX*8B=JKRHB+0 57.DFZ
MG]+L"I:I50'4'L$71869+E4$D1['*1=MG%>)#G9ZNX8]/*X"3MGV*D=7*ZDO
MO]$U"JPWWM5JH'":R!BT6+B+TPSV#[IJ;SC8#<=A='APZRP8@P+^A,WX%^[%
MA6S%*>W$XYQC\&^X[+[LW%LL2_JBH9WT+@L"Z4*P_9A+:GG]*W@]S4KXY.\J
M1N4'.F^,%<XYM:PH5BO#(:)X[5_4",&I1F1X(E%# ?<G (;]""?21-U!B#,Y
M1H=8*+VSUQT-^N%@N#\ZB/;O"';W1Y94::ERJIC.O[<'TVW)^5VVAFQO^+YE
M]+5@=.+SJZFFHH(&LV_UGP534-[(X5&@DL2RN<__(RT7P"WK+%]C=4_-&^\.
MV1^_QIXG003?IA.Z%-XXU!3B[P\"ZF-7!%MP/_ #@Z(*IT$QS;#FT_3)**>J
M;*[]2A7+4HI^+._P#.R2- JV!OR.(_ FX?O17^CSP?5T*?P(5R'WP28]!2V"
M%JF*,CCL!9%:%-O!_0FMD=K=V3_8V^V&@_U!=V=XH+H' Q! AX/!<%>IP]V]
MH;H;H75<Y3F\HAT6A[C4[^X?=TLZ;6V65I1]G\URC2Q#'@?VGL5E"0*!0CMY
MEF)$+ED$^E+GB^ 4?4L5$K#SI2H5]VYIB#IW#]_4\7V:<SVI>$Q2<-']$&RA
M&[G_?# <;%NG)Z:R]3F6K=^WW./U6G&FBV?W*:P.H]'AGAX.NL.=W3Y.I#OL
M'D;13O=P&(9*]P:1CNZLR-4>%IZ5R*Y'$U9K**M:8;6QPHHB*@F\B Y4&(*P
M0OQ01/R+X91TY:?@F*7=E5\4,Y!R\)3<:';@P!GLP0*--+@;6#:X9Y-@DF=7
MY=1\NPTVFZ:E4?2&6I,1$AY!S8/>\^L62%_WGYO+OGC!M<LSUZ&=)M=>LU1S
MI0DO]0>C[L!8GKZY^:C4_]B-5+_I/;\W0]!\R0WM>M'?VSX<W(">V_/1<RO
M=[#8@YN^WSZXAY89FX$LN#[%J(<'H>[O'G8CM7> (WVP1&&OW^V-=_=&!ST]
MV-F_(U^'XC+'0#>3+%^LR##2122M0KGH+I.-;U9+S@<HSKNK^J+O%"]?.R/C
MQWW3HVL/_<=]YV:#X7NI3[PEJG ]=^[=*I/NZ5','=VU9H#]J%MW<9TUO98U
MWM]M*NP/5'2H0,\/HUZ?)\VK4;3;C:)1;R?:.QSMWY6I0!OZHBKB5!?%&C=E
MOT]1:F @9+CWME<T>=]$5OFB.'BBK_T#O..KU7&"'TL&ZM%@=V?8[V,^^Q#D
MV<%.%T3B;K=WN-<?@5C<4:,[ZOYCMO,U[>8Q;^8&R,*5&,P?/]@XOB&JAXT'
MOA+L@3D3RI2 Y8FHCS(+JH(C@O">-$AMU=2"+*=G)0M\^%4,C\908PK+SM L
MN8P+LF13E8:Q2M -QO:4>'%1JC12>50$V(\RCJY#5PZWU+.5T;T56)(V]OWH
MY/C-B3H!'(@-B_5J& )69:FQ62F2 % #-G^&QZH))>9MHPU5%&"GX4>&0O1X
MK"E1E$HG%_QEC/FC%,@/UYEG29"![/>HTIG/%1R-@R_M]':\JNT+E8\4W+;[
M_G.B%X1GV.KO!K]O7^!0^OW!'I9X/\,7=V\IH.%1 G+<H_UQG,\XHP>;/U=X
M$; +02@C6K&JHKB4=6W?6P9O;T?U#W>C8?=PO[?3W>GMZJ[JJ5%7'XYW]@_W
M#]3H]MVO3L-Q?H1OD^5'[DQ/$C6Y<Y5R%_3[U0-<GQA;CX/"87J 8+^UW\&U
MFLB7#(XCJ4\Q8W"R95PB-=-A@#'_3) [8RKBP(_"+,^UZ9=*"C+/$<N3(<-=
MQEE5) O#;ZN>>I_(Y%[_X$#OJNX^#F_9B7#,6!2-NRKJ1X<CQ";OW;I=F1L/
MF5Z4L_(5OORQW9(EYN/<"[Q'4GQO.Y^[8+LO6GV/L+#6BEA#*X*RV2@6,K!0
MF;,=PQOQY(D0TK06*(.F1I@1"@@LBF11Q&PHI%AP I9#=Z30:$6S5J<%FR (
MUH&O"/=HG^X+I5^*I4YQ>>'C?7(PKB]1>MF'BPGM2\\;B&TP[(\'7RY%O47Y
MR_[SP4YON]][V>V#[-Z^U=S>E8OYY4)/,AW\?BK=''[I%.!/@.;/X_$WY!-:
M5O@"F*28ZB2QL(^M%14Y-<@$:.=GUSE3]P4=V]D-AZ#&NM%H;Z^[L[.ON@<'
M>\/N8'?0#W5?]WN'=Q70Q;U8%<-X?)UGP?'?U\#LJS;_J7(-5OBJR00X UEG
M1F6]4H,O5'^9D2>&OB9BJ>3/D-L%H*HH%P'0#DE\ EN-T<R$NZ'7B3?Y9Y7J
M8-CK!#CMND/W3! F/I+L 8+%E_6$=5UG64&Z -8+IBC%4#3&7L#,SM+(3+'_
MNZ*!1QV">O[7;0GB%F$Y8>,3@F'"#C$?#T:'&OXOZO;&V&OR8"_JCD:CO6ZH
MA[O[!X?#P_W!TLC<\5!'N[WQ3G>\<WC0W1D>CKJC_9UA=W<\'HR&@_V^1J>S
MR<=GY$.?))DJ?P(O/>:[_?[Q]XN7/X%X"^,9,/+__*E7Y_&TFG6CK.S*!3_]
MK[W.X;#?.=C9[_0&!X;?S$NU=N93%!/<HA4YE7IRK' X+<^*="BPF4B0526%
M,$F*T*].]"@'?ET$_3V2"CO,MFO'M0=[!^'>O@)>'83#[LY^M-\]/!@?=O=[
M.[U>--[O'>XMI1+"@\-PMS<"AW57][L[>^/]KAJH83<ZZ/?W1R,51<-552:T
M8=1\Y8(V][W;M!H;\];[G'SZ[N0+O+R[V]G?[W=Z^[LM(Z]FY"B^7)UC^@Z3
M;;P;CD9@1W;[H]T(3+:#4?= #?O=W=V=\<'^3K\W.KCUX%D3MBC<5"L=O5C
MW72NP3W[ +=^D0 Q_11H4(]S%%%YI;\N9?>#M!RU>Q3XFQ2\6 1VF]:S]<0F
MJ96[W84/S? EIM,*6ZBH, 'V>>&BC_5J(U=AU-\YHA1;C.%5+D:T:0\P&>6?
M8CDNM,H#3MN]!"N3=!R8/F2MK@^!; =GF'F16@,J7&IN!D9S8I_4P2#/#:GC
M9F;!&1C)P>GIJ2VX.DK3"O;@W*:43D"1!/U>]U^W$L_WR!Q+KA_([G9(YGJ6
M"PP'VWLW-=L='&P?WE0/,#S8'NZUW7C7HVNJY":#$TS)GJ[LC=INE+]1V*:M
MW:4O[1*.3$"]]DAM1[^7X]>Y)^% '1[VAKVPBRTDNCOA_B[X%>!2'.SU>N.Q
M'@U[.[=.G,KQH3 XC>X.U+8S^*%F<=UT2CM1--S9VQMV#\<[JKNCQCM=%8X/
MNKN]G:$ZV!U$@]W=.SHE:AAY=RC2/"W*X+_5;/X\^#=PWR1X\^;LR1S;@=[1
M(09QQSOA7G=GN'/0/=P[..BJ:+2SN[\[[(T/;MWP4X[-B,:[.[H765%F:2=X
MJXI"A=.JT&59=(+?TQC]!1JY]Z6B_:\&E#Y8D\3!]@ 59)15L(9;6NT[F](!
M]#O>C9Y]9R_GA\P2_;D;Q0(K0+>@FJ7/H[B8@POR*W[;[)@))DW,SQ-USA_\
M515E/%Z81]-/N^":PX%_QG= [\:>_>?'0*!_:8OO:H>=6SO-'4---%LU734&
M ?:K2J[4HA#WR#\0L]OT^JNW>F-V],Z(]F$B!?<1 ?WN/?A 88-L'!SS1\7=
MQW2^>VV/W?;A2W1WI_UQ-S1^TP=9<5-\YF"PO7-3OX?]M>OF<)^%6?<P2&2-
M2^T>\VVOC8]\Y>B S9DG>W;T^M4W1D9(:MYS7>OUHWH?7F8_W*B>.W\W%4QS
M]!#_QSC+KU0>)5GV"3;^HT/D7D]:&.:Z-J %WB;F@- :IT*=)$[UM1MUP@_O
MRM/9#9SYYL(_U!I6%Z_DP_L\-=*J=UB-V_]&QM[=WM^]8UTYBZ,HT==LW-Y&
M<_*/_VI?RP!W];(KZ?_^!XS=7I_Y, JRZ[^@S?SKN_2#FE!RKL$]:P4PZLN/
M\4.H@+.C\P_!J2_N[\DB?>Q.?JU:^N)6#%K^?!"2.P4C*^AO;X:!"N\U^]C_
M:"#[#R&33'.A.Y5*+7>VW/D-W'FT4>RI/N9Q\>GC6(5E=M-XE;OCT7-X7G#"
MSVOYM.;<';2,^H",^F*C&'7TL4IS763)I8XPV#,>?\2*F8<*^/QN'XZQGC&F
MAV9+\9Z6A8<[+0L_( L?;Q0+AQ_#Q4CGTNME\1!L>^P_L&75EE4?BU4'F\2I
M@X_S/)OC>O2#*-<S^[2616LLNMNRZ,.QZ'"36'3X,=$3E2"CAII&?3T(I[[!
MAP9G[J$MP[8,^U@,N[-)#+OS$=Y%?RS46)>+CU%<A$E65/G#*-BW\&5P08\.
M7KI'M\Q[*^9MP04MN* %%_SX.JL!+GA =$$++VCA!:B9]EH6?3BS<G>3S,K=
MC]Q_\.,XRS^Z/C#%1VXG]E'_73V(@<E-$'%BP_ER:S/NU!6\HL:'';@B45P[
MF86?IEF"7?'?8D_^O*"6B:?8.CL/SJH\G*J"FZ;Q;[$#N/0);VW75D(\EH38
MVR0)L0=BH=#YI;ZAY<#="8+_[UP>]A4X^+M[ZO_?V@I6$K0@B@>4!/N;) GV
M/[HI-P6%H*JB  ;[:#K5?QP_C*VP-&KGI5T+&0!'7N?\$SM XSA+(YX/A=>
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
MJ-OS13"T,0<@HA5\W1&L9;V^3OB;YFNH.>=G+''6[KI,D#4(4EDE\1QQ@Y_
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
M(CLWNZT9UXCB0IIP<S\:#YY"UJI_ZRNJ^..$,65"@+"IW OG+E1Q8F?G+ ,
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
MR6[M:9!1,M(@>C7Q 1>E,$(LGBNNDJ'LZRH=1:&],"LX/FCB3%0$B*_F5?_
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
MHVC5#LJ7&^T^BDR:K^5O8U/R_N*R$FU<.A=<>4>VJ3M&:<,?9[O#O/OP.V&
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
M@.8IKS>^Z%^;S6O.JH_?H3B3W E<"BMB'?>/Y%>1UW!0^F05PG5TY6FT/.L
M0;[N.,UD2K'EH_$Z+[5;6;56(9?,*IM5%T7FR ^V$&#)9LD!>CH>FI;N9B79
M[%JW40#TG!40CMYSZ/W8K.H%1-:%/N$+J]3_):<WR@M*#$!\H=D73U?EF^\K
M%D2D#XU7=O:%5O]%<_#OY:RH>=:3LSO[0I$!?X&++Y%3TW!5G^'.(?X*+U:[
M+NXGQ=:%2U89.UOK.?]'MB6J^L[*_K*DI[6(XN?CTV,Q(,+QSZWO@DHP#%57
MK-!+;M\PD,'IWW[66-(Z_HU&AYN.)'QGHU;5$EUS45]AV<5E(/?@('>.]>^Z
M^+G+Y @T2@'51BM^43(?MK#\8'-  'M8]1HX=^5X/V@3_YX%0.^EM_>C+YA'
M]WQ>%B I]_;Q #OX.,7-H4?;C&QX.2.J=W)@D#XOVI8YV_ML28=W:7(81I^*
MQK:X);3K-$%;5NMUP^FB7_5G[@@KSBQPU]23<,0VJ]#OIGM/39TB1*?37LDI
MR$_X5J_DNRO/=C\%WTWY+]_M.Z7VG_S\J%?Y#%FQ;OBIP<2AW@V?:L].G__&
MW4)O!M!L78G=0"_)+:ROCA_^]B+3PR\_0DED[Q[^YLZ=N]_>NW/W <RH,(XF
M #DD-E=A:;F>LO 1\TITV8%IB6R5J<QH[S1L,W>L::;4)S*9W'MW9R5>A\"V
MIGR^P[O=\V[OWO_RZP?\<K^*+U=1B7P>S0/.C_/-VNX*]]ZK;(BQ8+0!V2UR
M6YS6/3/L= EHR93OEV6YF)%IDGRW?$Z3Y%&W(@ Z$O*@D1(6LIZZSHJ(US!7
M +QYH[!$'!)QUN%C,R&A:/&8(M8\U/FV$.&ML<Z"3A4-A1ET$5@NET=P6)F8
MD#%:9$M3-P$MTZDOX?CXX@2K@E:TQ6)O;TZ2X@#0^-  C:\. (T; ]#X@V3<
M'UT4U0J8Y6>QQ'_(O'^*$,&=4Y?E#(=&$'RD[0K9M=_X9O"("PH1)#3X%M$Y
MB*Q_AZ%?7EX>MT:5-F_6G^Y$DLX".C:Y\A?SD4(F%P$L_ 7)H"@SATTW)#0T
M,P520+J&4D>C0[MGUZ,M*?A"R9B33[E@89[2Q;.[=X[^AB&(0%_86<M6Y#?G
MYTP8G'32V9WYW^$:%&[\WX%&4;)8C8B5PP^Q#_Q?P1II>FG\@:^/_N:3L>6;
M\VI6:4!9D)NS$,B/-(D*CX0*!9*/T7 XR?"?HFN8\']KOAX>!(<*0*TK='W7
MRDF,IC+X1M&MX:6+.5R2QTW.S?CO,G5E=BI.D_$U/7E#LT2>E0B70MLT4N<_
M.3&X:^PAL4)!Y/@^"V+2>7#8>'Y/67J,8H"U2+XC"BP!@F+@U@*OZ'MS$$]4
M10ACBI*F$A.ZQ>2G6I@%]NG-YZ-UD$\MA!ODSMW@,_#],3O&_A4,+*TM [H4
MP#I TB+2QNC:N_OPNRY[$E9_]IC5:'\H>%4@! "I!@-]9'7U;<4Y1 LL**RX
MJ0:<8I=CVCB?T'8?HHF/'$T\/$03-R::>,]'S*K%__E?+.#RS[O%/UFC^Y]2
MQ>YN1I#Q[-63'[.[CXZSE\]N4&AQ^K?LZ:.35\]?GO[13K[K ]B?F61&UITW
MPVK!)892&J+F)G(M+83=:T5&=&-6>OI_IH,/@DJU"G$@I49G5M5Y3>B;\-1_
M.%?G'5[X,G.(W/("L4!\H8KEBF03R8MOYN2K2Z;=,JFYP^2&[@ZE31]6"LZ,
M5=HY%AG#2C408(Z=@K.ZRB\. >"NE-B ^U.EN,3)Y@CS7#/RF7.L>CU:9.P+
M*>N>K6AVYU3.9 6PIT(.3-/%UFB"B.;G%>]MJ+4PW <D]*5$ET-=7!8B:=:T
MX2^1-&A1DJ]7K8/,@\-&T^"A(D3Q *B$=&(%T L<[R[K^$U8-I_QCGG%\?VC
MF@G3-)+SL?C?0G0:?A/DW33/ "J#2];87C4-3*3KO%'PPT6SNBCW+3ZIJ1;2
M5F7[2E=^M63]$+>;EFW#%0RL^SH199)P7\=R-#&6(D4>&"Y"%VD^RJC(8.F/
M4I$9=L\%0"A677E)T5$96HMBJN2PP&^"&_02[_%E))+EQ69YD#_\K%Q_A?Q2
MIMT;JVI9"K4B>D]&DI6\]F=5XYJI8_>+B>HRK&PF&*0Q#^-FTS;%_-P.'MGL
M2"ON-HW$6_PNO0L??")_"^[G5N;T7^WHHDF?# ,!N0I>=V6JB)S[7ED:1 5=
M.<Z&"CW^60TH#YP,\1;$]H+6/HB@]J$QQ^<L]=8.?T?++LCD!0$_SSY_\S?]
M^S,]^AW=E9!]-:YPS/E:M'QLZ](AYI6/ BR%R1^:MBH3.(-=;X6T?[B(/T@?
M%W7!;^?$R@R<[G[!]_2_0;I_2R^.(9RTJMIUDSUEP$";G0JW*\OU,&%MGOU8
MK585?;,\K<[6@E0^I9=+@V/]S!]=(Y3OEP+:6K+2D+@ETX1=_"L0F?;TH1UP
MNBEOU&OGVL+RJ*($>6W7VO5%X*9"OUYPGD);7^C,XYNFU.R<A#VC$=3%NO1<
M2SEY6OA#Q"B3Y]'K"V++7-;ELD+DTT)R"%Z3/1#7"9JU;I&.K'FIJ$P.B96O
M,Y=F/2B:L@T7'60&/G$H7)R=<;E.V'N:""UU#Y[,#D-1_6:-FSD":6P:YBR3
M)A"K;0!&6_@BK$2^+='$TYP^^FRH%ZOR)D)(_K"F1IHM@R?M (8L05"HO':Y
MLR\!DX/A3IHN.ZC\02U[(Z*?+.W"W"WMNM,ER*0U?7%6,G:(L:-170T+R:+6
M@J'5%$,<9ZZ3'$/22   /8Z_H5DBV\OD2\X@X2HSKO3S_ NH.F#4'7E%4-N%
MU5'F6S@SRL,5@F0:+\,VM9O5*K-7IQE4V6 WS_#9'&'/02$GA6  R89^:).N
M7G_:6$1G!T 4V46*HI=F8;JU&2IO6M+NX[V-S,>9IIB, T\OU5UY@58[IP&"
M;XT.-S;$\$\M9ZL&ZV)&QF>, 1WYSB(D-]'E_!9/&J9??6D>6]W4SDL[0.9O
M1AQ!ZRPFY/0,]E2WZ$H1$X%5W[TFUX@I*6G%<W/4"F<XSE3T_"@;93/PM5Q
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
MS&G36A K_"B!&'.*+@[L<S>"S>!'[YV)C ,H%V^-+?XD# ;1IQWQ>W,Z:."
M&BRJ$C<'T6GL0/;?V$B1^2I5Y&Z7O,]LB6C6O0,GPH)"?9;!5N%I[10-Y/G&
M]K)#ZW/@3K@9OL'S'1(RX6>>7B'"=\#K2EA,I4%XA_/ KU90'=!)L389B-^Z
M=.6<XG"S;8=-"+MB@X,=>$G\AW04N13@/1ISAQFQZ8I9+]-'4-657\LX.QB2
M" H-G-WZMVC9'X],6NAJXR 2Q$NLBE5U2EM4,-7X&E1"33N>$"$#Z_((#(A7
M<^H2]8CKPOEC1II53V_TX^R7<P 40LM([SRC.)>+>.,@>(]YXE'F?MC@"6+!
MKR31)[<3'RM\;X<:@P$^2S,?L5&TOSH&-\H+'CN-E7V]LAW-ENE]P@$ (;K'
M=JA1)3]A_IKGC\>1*";$M^_CYK 2A&?ZK (]$YP+)<!PB]&_E#@#N^M3^3=&
M%%3FA%IGI-\IHXF?J[,CU*Z\^YA]UX\[^-BR\(+O5;00#EI6;TII:HMRH!.S
MU2R7'6M\+0/-8:E9BE5SF7(=3CIQ<2VJK@KXD*]_TH4R"%SL?<9#N4N<]9C1
M-E%"XY3N1%]G/J'V@O%>90BO17-[\#=OPDG^"YMPD:N:XK8#X7<EW,@Y=O9\
MFFF2R7W*\/$=$A2W4\BDL;$ <Z@HD"*F8MHY*6\ RBW9-A:%($/9UM(?$T:3
M_P91H4D>B?VQ$XUPD,ZM@RMV$UPQ23U#@'D?$:-;K,NP&KJK5BU[38G3A*-B
M+^)@U'30E6-G"5+9=MJ%PU</.'821KVP@L@T:=U2LSAAZ$*"NE3%+MY'D*YI
M9BJ/8ER.O+, 3V==D5)<09SXR:/-)[CZ]02ZYD/N$E^]ZU9B'6#R PI.I.$<
MGY4K94<J>GNS(K\X]5ZAGQH4M^E<6XE,!JH!D"9(7SL_UW^?,$GLHU=/?^,V
M)EL"<5?= 1!A<0OZJ^.'OQTM]?#+"$#X^%M*F1]$.$:['-S\#:WZGD%0RUEM
M]U(NE0?3XREAM;UCPVMAU+(37DP6!Q),OV8W"_"GV+UV@X)+B[39G>%'ZX:U
M94ZD;@9&U%38+HV2JGHTSMQXB>+>\$W!S*B!#91T@"295W!?)[,2"PT7M(Q
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
M\V.0ZQ$ALT,M@@) )K(07T/[=4U.SS"CRW+#UZH_%\$<5S^<%SU=C5PE]J]
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
M<4*.,XYR775 R5G#&$Y0[-. [*S6'M1D'W82,;-@%C6,+7NI%36N@8MV7L7
M.UILR'5R.6_ZT+?6R]#;%W:5;\.(-&N7I1D8GBIF#HJ7!6/H9X1A6[HD-Z-V
M@:;&_%E_>;GWO)05EL(PO6_5<OGUG<T)K\;881T3[_3+?P_,K5#Q0MG)A">G
M;NUBYG?8%U:O,]. ?".G1MCKG >8@1S2H:B?3D!<[VE&<U*Y9@P]R9Y&- N$
M&[:2[8K6TJN9>="^,>X*?C@AJ_K/QO*CP9'5@LNI+Z4LLB=&:,2(L IG@V2'
M?BJZ1?'O3-G13DM6#&3^",Y?. @K5,G :3#T9&=QX1O$QOJ'W<1&;^%;QTTK
MI%3R2%Z9L3XOE "TYKHRH+Z99J-&'LN81)Z\?!&(1-;-8C"(@%2S1Y(DD3*
MOA8^GAS2DH$-WPE'&7^"OZ0>#RUVK@2B5]3E\][5 73]L)Z2C0YF)MX01$/L
MD]V-!73HS)C@!E?6%U7;2 <Z]WXJ_@9>6K&0I"E_)<Q76_J7$>J*>&%]\;JL
M_=31+3;2K]XL$.2"&>Y<BXVE^JE9HN[V&VV=/_G#F>F="KB5#8?J\C<U-F=G
M;'-[!<OL',>'_?X16KT[^+I#!]8A<#[08GW! <JS9WGVC-?I-X_R[,._BNMG
M%]2DG/C(\D6,+-7.?(0A[QL@[%#5Z1;)7:ZI KG%^V>;0I.'%FF\WR.0?G(^
M$6S.&2;8%V\B)45@$@*+4& >1/EC!/:Z=^?N-]E/C5$2,HC JC_R9[H _IRH
M=63V_!.ADT+("NG<#F[BXK=$>\R7E41[^ZB2#H;DXSD.2?HC.;%$[(S]S84@
M^. E8+U*#6ML_K._2EYEG/N-RF(" =0+PG&?6G7Q^"U:<&'EL=TM=\75%6 C
M*\Z-FBM!H1Y[R5 )<JVQFHM2^ NH2A:<RWDM1VM@-'"\>9T_^7JN<DIZ)<X&
M+6-.SF%P+L,=L]1 ,BFCBZ"'XFEOF\6'^C'+PQ^>S&,8:A?>V\C!2C/V\<Z3
M+\O:US2%DI[^#M<3L*RQ! #[!2*/^7:?\^&A/K-$$\2%"MV\'6@9<*M3=5$A
MAS!O*Q:'6F44,A8K0_PY+$BVJBR4&>4;?3- J%88W\BNBS?N,YW,6HAC)-"Q
MI'*Q7.U7JFOV]PO+32V5.R@[./U,B]I@MTL*+I-^ZR2+PHRV,:?*Z1*N U?-
MX@;E+:Z"5GW<!AZT.)T#L8NY_7[+'9VWIMCQX?EM66.=S6"C[-&,R#,^/TYF
MZMPMFKG18#E6KJ!Y4\S[(-OF-&XDX)&\_V-Z*9>PP<5E9AJ0KR7Y&@5#^:J#
MLM@ F1@LWJQ4:4ML">UC1OI$,6+YN*/:.$)MMW%CPWKCVB;=E[7NP%R3JD?>
M7*1<1-$'.E3R;H+[\F)WK=+"1(JC+Z7L,W<$J>!MWQY!O5Y ]MSHX<IJ4^M0
M<^])%L*M R4!2G:-Y5 CI9+N$R%.8_< P%ZZK7K\D@+DS</P9;<HA8#K@OF?
MDG/..D74IXG/*;4JVVBA ">5NHBT=N-E^D_EHKUWY[[Y4&&K_J -()YI]N_%
MI>4V0870C1\VV5;-92VP,1#82:[B;E2&I"<.L*Z+!H>H3 ?*\=S,T@096;$O
M0Y=D=VY.G'! /7UHU--7!]33C4$]W<HC(W8BCLPVW7YEBA^Q<0,!$KGWG+T8
M:L5J-#,X/V?0NFN5N779C+R)V=81ZD:F465V$7>C+L_(XH%RQ/1N<4;DGMJR
M@!@$O"'0&9/A7*+<\J_07X="M;!R<DZ:GH=&#]+#Z"[-MM)]Z@<Y[I9\![^.
MX_#F4A(!J/W+T0!1&P49EZ::P=>S6-='UXS2V.-[HKVW'411/CVCM[^;%Y>]
MC8QGWX772%4%I(:^,^U7Z4SO) @7*IN[52G=MU-O(M>F=C\G33LQB?9BDJEO
MV72]P\P5"3;$D0XASX+/^=\.A^!R(KA\5;S)?D2[]"&B#+/$5;ZRIO5I&)$5
MU_RU:2!)+;KV];YX$PJ"*3]8A."P?5854TE -5%S3YM$#)M&E^,4#;.8&C8M
MCYO)[IB,C/>*_V@E-=*R#^T89%.;91Y"5TFGI518,64#AO^#( K=\F3BK>1
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
M*/VHLL?DT273M.C*&[/>J_[\F4I7%?0+!LF:)(4M.<E6(!.Q*B^*.CB@T75
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
ME;[W,S5.<6SF+*W]L+2._>Z@49BXLW[YM54/%H<_Z+>.!B?V?X?P_A6IS]P
M=(9]3#&=B:OVKI9G,[WI_+A+^_: D)>SQ?:'O>YZSP56O+I#[+H0V&/N[:\%
M5FU?7,M KDPR=SSFE/-N&&*'?K?O+@TW5)HYU>@LJ)>7[CM%)O\S3/_ZM_=R
MI"X3R9+J'KFPUF/N\=^3V7?LS!R[7"QG5>VE5=7WVRX5:U,EFU.7][Y(1%C.
MZ3":>QF,X<3Y_M(%7PKV* [5=W&HQ]S:G](PN)37B,OBTP3^@;A]<\=MSGC:
M"^/I\-@_[IVXL]Y,P>:4I M)O;QTWRDR^5D.TP+;8'<>TYQRP2A=V3N=42C*
M);0[4VK?3*F^WSYR<2C'R#LHU_^E44D=$>PO$?PFYOH.K]%CW(@H%&S8EFWK
MOS#X!+92X'OGF+89!X]!8;@/^\!AS3KTA:C@Z05'[5BWU%)J^[U.QYWRI@DQ
MIPSO?U>W+-;$D2AWD[<K//*0:SP@&8P\J8SR8Q=Z>M304Q2.\R3V/HOT.U_E
M_3M)OSMF<]&GO8@^]?I^;]"86NG.^N77YBPK!TCE:.+1 *DV./ZTE=O[JQR*
M&*_M\.5_%]-9-@E3YZ@XVVE/;*>.W^LX9'7'R#LHVK\L0:-R&5*.8F[)-E^G
M5@_^Q!Z(]->-<*BL=S]J(TBKM;&:)D[IM-?J]7JOJXVG*^MM["^=Y2+-W]+*
M#D)LC7XZ%)GDSE.U/2@GJ5[U\$,OM^AD[1WJM?K]XY/.2:=_V&D?]4Z.RS6'
M,4[\@)9^RVHK<#/6;IJ&F?41'[2R^[=HC;VS61I&G!O8[?G>M?3D#<PCD-ST
MGM[IA;%7!Q/SAG-/S&9I<A-BDU?@(*I*\S+NDS>6DGNX8V=LE+"F!VRMZ2N]
MH%6V6<6>T7?J'/WPILHOL?-?)]+#W$$1SST2X+#?6-3J"6Z#ZXG+5$K26_"A
M^JBRW<='"_N=C&_ILYOE22HN97FB__C+?W4/NV_3T/<^P)=Q*%J>/:U+ 70)
M*G,TDEF&L\@G^M<X'OZ+[%+\"A>6)A%]B*<*,RF?OA89/G EYS"<'(^QC3TH
M7WT[P+37;[U$/^V7./KSV#"%WE4Q!'??I[_JW1=1EMR3,CJ]DPII) F1!C Z
M[ ?,M,Y]2 P7DU1>9\,BG=>JJI^7)JK)RGM$%.^947&#YF"^PLFC!*XC";"
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
M;9%10A'?!>!,GS'HGX%*(%*-(A-U-;'GAA_6_$(L:Y=D@8\F%KVI72;B0%=
MY5"R JJ0L2(>,"NB?$)W(=<88(E">:4:U.$HYBC1SLF*J0:OQT$-7=!^HB8'
M_3J,).5RSNLUBW:T@YT7/' #WTWF35'.B_*$D31EA:OA)SJC+;,)C2]Q^'F*
M2MJ3M0DX+?O1N=CU4RJE]<-"7Y0;AG%(..@7ZARW_GSW1JUJDS^7QE4VZ:29
MB"CYL1K*UO:P3SFE?$$0R"OP-93,T.(:=6LQ1<;/.+56WWDB5]=_2GZ<N;U0
MLM*^3:"A%V\OPC@H$*L#K?!O)" LZ^W"Q/??)0%)%Q)-'Y.6\0[.+MX9Q^"H
M?;21.==?[(-YIRYH,M[.=WK/-B !6Q.02G(%/L<L6]!A,0EE@;)Y&*$[2QJZ
M3.[%SJ89E^Z;^R=4+9BGG*'%I0%>DM&H /+ (?E)SNE5<?UIB%1F_#7TK#'L
M.^)P&&7C@NI(V9(PQ-;RO"_EQ*>@XO"JAW*A8=@RNY\Z&09*5:,B+0,0L%J)
M!A6G!',8C#Q;_4J;;RKSPFLK,Q5#E';B,'GQ92JU]S51Z#JXZ;Q[]:=U D;&
MKC*FZE<F3S:MUJNU53;_@HV%;$*1MJ&L9WALCHYU28]/G?1XXI(>-R;I<2M-
MCD5Q!:H\HD-6DDWY,51/ 0(97)? 4W%"\F:C\#MF^RBAQ0_XJC<UN<ZJ1[?0
M8=91F(Z**;K6(ZG<28:O43%_5CD@7/_9+/W"Q9RV!J$[]G69AG9&?()1H2N'
M(0W+_G EA*%BCJ@[TXQ+#2V$':U22UUI%"3%%;%HDI0B3-Z$IVZ1X]3YO-))
M')X%=<H70HE!4-/:(5"[G"U?=^D#4H8)' R]!]TSL!@UA YN2]D=O8K#1HY_
M%%7<QS<E_HWOZ1(]%3XF)!H9_*ARGK+2+ZTXF]X%V*^4Y8!T!,+&CO+GXH82
M5")5DI3@==5$1&.V)\*4TS1T0(G[1:%SC3:8.I4MNJY]:/ -["U--II/%RFA
M8L#Y1 ,!*D_&8$)W/T V,2WK:2\M\T=9=S+D>YA*1&#(EY%)_7/2,38UZ0[T
ME$42UYF-0R,8F$.,BAAFT?+.\&)%KVJ&<R?/ N50$"KX*+P49!PE<!(..NV#
M7O>@,R!#2N&^,;D;7EKY7A@?*#S#_5 85GBU.)3Y-5Z\D(5[;8"5N!BOT78N
M#>:8;6T%TJ7V%/::K%]X)Z?.P@X"5Z#5^Q$_,T6QVJO OXDPYEK<%4M8L^1L
M9_FBYHN5_BL&MM1&>E,DQEE4 \DJSQ). M.%.-,(VT5>ZLCS$CV3H;!,1CHD
M2@AFS6,KN:P!.8U,-QJ0$^ B)(1,1I&Y-<S6\ZJ("IEW;ID%+!!+_)7XN.VE
ME>DJ[9(KUV\!Z*U<)>Q(EH!CH@O%HSF\\GRL$-*:7Z:1T)(AKD8I9X6F(##)
MP$)/6/27EHZ:B^\L>-"QXT!$J9(J"DYGEJE,SS)BJ2YT8;=BBAN;VGA\ UTK
M%V% **#UR/A2"GM!_VR+@J /CJ29H(?FE@;SS80ZB&&,F ;E(AG[@Z%N5>!
MQ1THSJ&M5?636DB$"\N3D-45 6OLR\Y?3,+9C&[S@7$F\'_$CV,I]:6%76]=
M*B^LVJX>DU]695AW4)0"<MLHE&:R.%ICS79YL:A036 C0&=G'#W"%-<M.K8G
MC\*?@9Z[)FF&T;11"O88>'\)6EK[$Y^7Z+^@XK$R Y5JR53DL:*^A$XV28K,
MKO%@ U6G'^/%X1C(,E'>&J* 7H4!WLZ50@F])560 *HYI'OGL!R47,LL5Y%;
MA%6@"0#]A[ P^-#",-5U.DE<3='2GMTE04P =Q3&]BCGH5;K6U>;1E\:"]8$
MPK4EK)(<I;5)Z,9>)1$YUFB<<=(5ICQ&66)<9;:6=%Z7C*_"-(EM1]9Z%Y#+
M1#LRK,IGD5 ^[:5,R&> 06#%>!F,1A=%"=2A:J^#KM:1QM%GTD3?\G[2]I#*
M9%3;RE<H&-Y(4F.<P/+";$)Q=G*ZRG$XO4C?1=N![W<V1U'*YA76F%E9FNC-
M7^&.8-&%3E30YZ_V,C/Q#CL7PD2-=6Z"\&+3\]FZNE7Y PL9 U:: -[H4.*\
M+AIH3(K0*:=\/\Y]VDK_,]/ZTVP+X?&0F49WTM<I<C"FN*D*+;Z7IJ-=B(98
M.#W@!&[279%.>N.3_95.=@.NAM9-M_'N N+C5*5=K M&!PK;%\E.<Q?K#8J;
MXXZA.I@YFNAL*H+M'HY!ZEZC%1]+%)%8^DE:7($(%9E6#>,PS?*#,/;5WTA8
M4LB;%)?6"D5:?5,DT8O]LQ!ICBZZNIA'.<JHAE<AY3DA6RD4(]+V0V!/F=NS
M'MHZ2-HA9A.HQSR!#%/]BZDTY4Q4QJ<*^'1^D@T4R'TVJDG8UTGZ'99ZH!4,
MQ7O#&/2:%8&@99.T]@)&.==3);D]$0;^2:_&;WI&\&&075/%<L(B8[.VYN-A
M%UV/6?FU^:72>T;Y/+*;X/U6+<BLIVF8?;M,DH#K03!<@8(8+])8F4NJ1T0B
MT!66)F6-=2J#(^;8&X7S-5P^U3-4!'DJAR"L!^[@3U4P4][86VGUE71U+HM1
M*9QA7$$7T_R?V0*@)&@@!K#^<I5AB2XU&&&(QVG%@XO8OL[A"1,CZ>SY%!XQ
MS*#):RS"",MVU>RX64IE7)T/JOK]D Q%IBR%&TDRE?BHS#_8$Y/K>!XKM,EK
MV_?W7G5[K2.#ZQ?:<L.R$FN=A(+%0@==\6\!FFI1K?.EE.%J./WB_[Z56;[E
M8!,&$(6GA 8PH+[",BAEHHUD"JMJ'Q#:QD*UA+X^L&%>S4.?Z3N3Y809O%)2
M[K2,*/,KT&>F7B9,F2TY97;AB>T,*>I4&5ASD,N4K:K&0AG+=5B!7Q=&=(0U
MT3]),GW<2(]2;SYLSQ_- G6H$!O5U5"*$36U5V%:5S=(#NB$T%'CBE%UL$L
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
M)>54-&I@[7G9&D_AB))4Y>(.SI6Q"NG*SO7X2]U=2F^<T,F6.)D#GLP!3N8
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
MH9L*?J83DT]E4W5;752405(@VN4+6E7/?RNVSD9LO=S%_);CH_[S4(^SLYP
M<0)DMP0(9M,<]HZ< '$"Q D0)T#NF;MS?/QXN3L;*T%<AH^+^;B8C\OPJ81]
MX$_L#+%NOXR7ZL+XY'U?5(61Z8CBFM0\RKD]L)E=B(W;N^W.$37/I)Z00TD-
MLD?8L#&,+Z.Y-TY&A6K9G<DHPJ91JL$DGFCF<8_CB!J;PI.P/IEFNFOI;"+2
M*<R[():&3P-X(N64K+*G6YYB^T:8:H$MLXL4!J"NXIE4HWN9B&!)JFOE#!M7
MQMB+:G#8&KS6+2]SBAG.JI3F!46*4R:4<NI[I=I(#XY7_A36@#B3+>^"WJZ>
M'88)/#B2&758-]LP@M,;2M6*DOO$4K?6<$H[-O8B( $X1=@&J7]%G;[0G+&[
M;&&;T#S!/9IA$TL1<?L@:JLIXCP<)D$H,U\UR+9Z<\)TK;:85J?P<03O*E2K
MSJWJ'[2=76GKPL[U=%IZ(*O6Y7HZ34X/3UK=X]M: MV[1]%1JW?4N^>/G^&E
M#O7.H=ZY!D</@L5S#8X<VN:&[.KN+\[!%9N=LKM4+'\'+N*@USH^["XK4;K%
MX3\$.P)^-DLRZHM\2OV)PRMY2RCZGIB?.R[N'&/N%V.ZQAE.Z3O9\NS.QK9+
MCD:$;8>BO3JA]XZUV[N9T/MS&.4IA:!-R-S=A&_U3;@#LKDS$_3ZQ_ZQ@YMS
M++VAA^M8^LXLW3\Y]$\>L8YQ*UAZ(XJ:-H5-[D0N[R8IO#%/+N&AR=R90KLA
M-UU2X+IGW>D>^4?=$W?8CI/=X6XW)_<Z_M' &3XN^+-6?P',E_1$+*(Y+"5S
MAH\3E_LE+@^/_$%WSZ2E8V1WN+O'R#W_L+/54.0NWO.LED\NP]@9/$Y.[IF<
M[+1[?O]HJPM G<7C.-EQ\M\ZG;[?VS??Q45Z[D4KG[#-@I.,#@/982"OFQ/D
M'PT&#@;9R0LG+YR\6"?^Y!_W'R^#<&?DQ;-V"C]\A(Y:AUO84.MK$TR*D]X.
M&]%A(]Z'G1Z[^_C&0B,Z\\\)$"= -K_7^0X)D"9[\#%J>%?6[+Y0S.[9ZG5W
M3L2N#0ZP&>+B)0YZSY;KZ'I/#GK[EWLKSK =7CCHMX[[)Z_?SD00A/$EQR#Z
MK<->[_5S!1Z>"L.R$>LQ"*^:HBZ]5@]7'(39+!+STW$D;ZKK_:/(\G \U\/3
M$P=9+M+\+:WL -8PS4Z'(I-1&,N%/2@GJ5[U0HBDO5:_?WS2.>GT#SOMH][)
M<;GH,,:9']#:;UEN!3#)VDZ#@5D?\4%+.[GGX1.NKP;L19S<\2+0 .(91T4
MX^D'"2N*<8!_AA7_%";9//.]\WC4\M[\Y;\&W6[[;?D%?=!Y^Z,W3I.I=S9+
MP\CK'/N$*>Q[ O%=HPC__$W"K)(KX?T]B9#+O+.?S'#ZN^I@GT9Y@E!\71ZM
M5>*QPHZK_W?D_$CDW-T*<NX\B)P_)]%\*J?>1>NL)&7U897T_E%$<Z]#=->I
M4#$0/=*^=Y%$!6%&>[_^^LZ,I;XU8R%P-:PKAPE^_8N8SM[^YKU+TIEY_N/7
MWZKO-?"3"#M.Z\TGX)1=3BK E/1-RUO8CUD]H?+6W3B["O,PD/SB"SG+>?QN
M>^6;5_,AT1;#DR/\')!',8VKK*B5;7F]$O+1JYL)_J"1:&4<@#M^@]2$:,3&
M,[]9TUIY"'+VP["$'J;,^]5&H7K?)\:)GXE+R;[Z@1C#-$]%="WFF<(,M@](
M[SY)PN:M?\@.;R<.=KFE.PN__D6+"V1Z!+_%Y@$:O=^(#0V?_UUZQ8R^*D6M
M[XTJ=?J^-UNH8$.Y9X31.!7Q:!)F,+]1@K-<>+?PXH(D#/S=S &$+0BN41H.
M05R%L?<9%)5W#G8(R"D/I)\2H4\/#\^/XLBK>F/\5&2@&V$G#KQ/L&<*ZEZ;
M2-[33W79Q A4/T0M,$O2O.51)IK1"6"S :W">-AN(@NSG-HYI+=12C*32 U@
MQ:4)?&T.#=3*),EFN$^9K3;'*4D6/>AV-5K87D=O Y,C'V&IB-O-[L5"/Q-)
MO5FXP\BKSE&W-?!@Z(C$%OVJU7M-]IS=[83[F'Q%!H'_3068N',O@.'@.V'&
M1!E4X0EX.4C :6;;5.\^_?/\_4'GA%ZA^[T@_W>.W\( \&OJ7C(1^"N8.OQ*
MY/"2+$JN@2-QJX#7!':9 >-,1# 1>3.3V#1%-S7!WY8<*\9C^K8ZM<SNR=)@
M);=(FO+XR7B<R9QX.:>N,M9FHJF?J58OO<9]\[E_!TQH)'5K',D*(,O3!)O
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
MO/Z9N)3LW!^(,4SS5$378IZ]_>&O]0/2NT\4U[SU#]GA9R7BE:>Y/NOJ+=W
MRJ8[T \_BB.?ACF\='3W-KZ;,#FO)E_6.)2C^S/VTQ_+VH> ?T1%(#/];RG2
M6 8($QS2L_#WD<@FWE!$"+R3M;Q/1:J^JXT#PB"#QX=S[U7GN-7U8&912 -Y
MW7:WYWLB Y-E.A,I/)4G^&'7"PJ)?Q>Q&0&?#V/532D5N230X@F("YEZ O0[
M=A1OGIR7A0@.]%Z.Y'0(3_<Z/KV%7GTMHPC_-&.72_W6NFAY.;Z]2.?>$.:=
M>;,B'4UH02+W\@GL3!P@#A&.UWIZVGU$2GV(#MHL";*TQ=9N\VQUV9J?O!"(
M- UASC":-TZ3J8<_2L4H+T0$?R]FB<5)\'>D8GB$3&2\4"1(K:3(LUS$J**1
M.X#"Z^S3 YZ/RT\[?5_Q\S4R!0X?X&N B7$^5\"Q,)]87B9Y*)!%Y0TP4@Q,
M"V_QLF*8C=)P1K!>XC*5DJ3(=9A/O!%,3,#J)DD$-@#-!:?<;7=.O(\)"@(<
M03\5P\ZQ&$A28E>$!LM1F,!)C"8X.X0+@PF\.D+X.2./Q"6\]A*FAM.-1^$,
M=DM,DX*QT/F-L+WTQI:W?/NUY'S5L0:'$>I;7L[?K\@_^%VG\7?Z30N_5^_N
MWC(K$66)-;5VJV>_8@T"*=?NC9-4[25FL4K84?B_.%&+0$]#[9N9F"UGX=U'
MM@X0(Y#O&LT-W_1JT+4V@(@1S/81'P1/9IH$X3B$[8IY^W@V9GGX2&78FAJQ
MSA<(9^'I4F>-19AZ5R("9:0FQWR2T9-,K$:-K;$M!$]7GM:%E+2EQ#N;9/<@
M;'*W_?:=)10N9!S" IE>Z?O.VV>8\[(9 I\D8'# !U1#0P)E',:@[L%5AJG
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
MBYPLJ#<*L!'GJT 2?RR'1UC<E+#[<2?4S/%%,B6T:^!\,M4R6=DB]6MY0["
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
MF/JN!'G4W.,8"1?63<&RA[Z!0(PK+!,%G/5@/1&FY$DZH,6!-Y*F-CX;WSL
M,4O467I(^O@]$-)/0>HZBP7H9-*7C4Q1K5@%2\RF;,3LB4F,<>1H,]#8G1#6
MB\6#,$K*H-(-"W$%BS/B8]+!8#H#SQ>2P6^1N1*&2ESD"5HIJ03&L90I<8K;
MJMY14@YY]#JS/O=\!'AT!L&0')XB,:4TD#0!,OR/('S/!P@;(%7'PKX&133Q
MDE1R-<HC=.SB T!">#>@-;)1B+2.U^ISB;SX9PR\)H9#W V2LS@T^ #I"I8%
M7M&#,8 ^A7LJ=[>?!FZ<B3T<LWHDA17D("NL"P-%M$E](G[<\&RJ,'^Y'#'>
M7<IFIP@'GXZ/4AH;OD>:<_! %Z@ 9X.7274"I@I+1EI>ME!204^(2D ,_@6<
MACJ$%*.]%,0CODG30!RB7Y"H<>&,\^694R^BG735-8&X(9>.GY]()6D]>Q^(
MG'/'"=&(C)TP'@'[WDA5OL0RF5]X2X#Y/#EU%RPI=!1&# R'(!SBAK ;$2";
M'@P\*VN,9"G'MC\D&^]"*2@#Y'M4G&!8_.8F$D3O" 16NUEIYE#@!0I.T+Q"
M'8XDGWI<!4 5C:U P3+M'>X*+]H,*;8]5@;>@",0L1#TN1N)P$"5  XL'>%O
M()LKU?SE[Y"H8^(-X1[16,+912F9X!& ;9+C3#9P1J#$<>+E,5Q47 B0$R+]
MPLZAIWC*(R<U6"&9:AH)ZT<@%C)?>>WE?+&/[O7RSM@OP(0HAD$]_D:"2O'-
MB_E$GTV7N*ZT</6M7+BN3KJOOUK$HJ[K*=&C10J,<;(1%3?G?:NN&2=HU@*<
MOFU6JQI>%4 *)B=(I1'LF'*J G1*>UHWF4_NG0&*-,(:U#.=R*/P".O"@Y33
MBD"5YW9KD-)HX'FHZXDHSAX-H!8G7 *69K:3&%:NMLQW=@OF#*B@%?8]C= \
M3S+7\#(#HOD+=2$L@6VU*JTEET"Y&[*Q(7&_K54[E8XN;Y9Y1+Z*[_#O-_FX
MKT!%B#E)HS<RHI3ME-V9T'"?_HZ)Y=#>$\.+:"*3;U#R!T3D<"A<#UX%ZD\_
M]/WP#G<('XD6$/ZNWLC1?X%+#+>CJ-9>(65HL>C:&I*)ZJ!2!R:7U+K>-CO:
MCBRYHOD#80Q *^1QR@F*C! !AD1*+E6T4K+!2 IS!6K\=!M885%X[PWEC&%5
M-&U"O:V82%#,02G!TF>,6N[L0GGTNJEW6.VVMO*SGS8,75)2$S4.?-:$OEW*
M_-:@S?X'YP'/M;5U]!?6[\-OYKN>YWF>'V81[3F@?D=?FP [*#>:YK*5HE#I
MT'EKMYHZ^V)"CUSWW,%(G7BD!ELO,%G&$C*"4ULM UMOFQ5[FC)G/7(J?"8)
M*:==^+0G)B(4,.XH\?XS06G3SU1F((',$TD&=&(A;9\H]:7Q/D';/,^'D'.7
M_(PX,V^]6EH<D2,W GO#S[=5C?KANC10,Q.NNMD!DPQ7@G3L?$=UX9-,\#O#
M.98RR,K,3Y=$G(<<ADE8Z#F@D;Y#4X$T_HB7?4]9U$<S@SP][M.DXH$0:/+.
M<6 @=I!+&+:LF(PT23@=5J:E7W(3:=K2"+T5TKJ0?H\'$N29<2G:/^TQ/$*W
M3>"%40EV@QPXN/JY+15GKU;65HDFW,.!490-Q#YN"2">,O:L2K7Z"YI"#$>/
MYIRZRHO1DE)^HJ%7Y@$81[Y/AC1L.EPLL9"#F?Y[&@AF-53^1J8M-4KD[Q<@
M;E#$!=EETH!Z,#7:%<!S\ND$D\^!R]HX81\]$/!JWQ/H_'=1(7%+F$Z31D!@
MZ  *:9$QYQNLTRE0-2F9ZT[)M$Q*YF92,O=8/_#"*).T%"$@-VCN?I3I*/G?
M+D>78J%?8Y:*( OH4HR2:01)9D!.3V2 X2'8*8$5CA)-*= ,+>WV,/#1:Z6&
M% , QWVINN"%\4@X4DV QTOS76G*JF^@,LFD&PHE1!:VDHXP&0&85M=+6=/N
M4'GE8LQLG(;]O\>3H594@/&3GA?D\BR/D,V_KY2M1O&U\"5BEO*8JU/D^-V2
MMXGW0"S25P\'[_71OZ^":U*'0TW%7[S;,3IQ05XZ ^&FOK2,:(_G[S[I:2A,
MT 4OE8ZG;GZ\>/=1C 9CE@!=,[2M(I>DD[PG%MJN'XQN_UE2MHS$IU$R8/].
M>91(9X7TG.A6+Y"'3 N0FI%&KZ N@HT &VW50#M1VZ 16G[G#'<"Y=,FH&W"
M%SJAY-OI<U!O:E72Q4"!HF3,6=>IL4^9B-/Z;?0T^)BZW=56S(M@7),+5B_I
M(YD@]4E'0G;%'>B/V6+EF -#' I$CEBJG'E2'^JJ,T9%[#E!P3(*TQ/P<'B2
M5/JR5\)6.I+=086/W*D95*>6C^?O<Y4&2OF#?=#L,0Q&H2=- ,QRZV1FNJ <
MEP@CLW$6?Z2-0+O%?IX_BEP+B MI,AD059?F;RL6)!9)XDL;8F8RP)0)5E"Q
M@B!Y?[8E,ZE /D._4[=BIY-L.-BEP*$PS<)36$B)![RF5AIMV8Q0*^R3H'CJ
M]/(H]5Q9:R&H\V3SY(N#6>VYB0=\SN,8=&-)D& TC'$!I)!XN/1HAS8[>EI&
MG(<D,]N/0M5+&'\S,DJ,LWR# 4?<H$\AB$3&TV001F1D*Q)1EAKY$V3$SVYH
M'O19) IOR"@A#S ^S&'+)+/DENS%4M]Q0Y@ 9AHH4UFH1 $5QP2>4>J:\Y!I
M%$:CL%<A0]+BLB?*S ST"HX\%8J4'( 8XB7 ,Y1UECF-,(8/[PI<_!6 CL*;
MZ*Q!'[6N4RA)@M]'(M&6AA:6 J\3"7?$<I0#@>ZONKZ@,@S:5SK9M/]M_DKB
M"FD[AM/&H<!Z=>Q2M5-=!"LT%09K$X')5PCLMU:C6;%M\CC0W265:HY+#(A;
MU;ZB!\+H3*AKX^D"F'KG"]IT+>>"]*O,;L'$HM$P2Q@!PR<#Z&(_'95F)53F
M49"B?239*?:(5;NSI>9TR@"\P+L7V9A4B'_:[_76JMF%X"])K'C;T*(/F4=+
M"3#+Q@RK9!!KP?QF:0.QWN6#T2H^_A7GG4>C7Y$9EHA&'QJ?R)AJ(=<THBSR
MCBE7)4Y4L"^_F! NT<*\&7?=@H3 '$%DG!#$A?;\B&R)S/Q&/%>Y'?CDB-^A
ME@9RBOO*'M+9[@D,MV!:R&NU>I%Y6YK/6+N%VX^^:ZO.<BR/(L>H /3!7GR-
M@QS+#_,96[:;?ER<G,K!?7@N#C37,"N6AV-!_S8,'2\O^WP<ILD'$H8?\[-?
ME>HOV0VPESX?Q>)#C#G4  39&E#Y&?GL-]-EVVZ]V).QM0_9_3/*L,G7-5J5
M>JOUB_+8S[C JM0ZG47?+_JN6FFUFL^]><]?O* $=?OI%:B?5WMO86&H]B'5
MA7JIR6ZNDEGSD4IF3VH*D.W1&E=FM4"F+JP6M$LBM>=?%,T^09M\0C-Z'@4M
MTQ!@&U9R8RRU&X3U*M4#=X567I+KR+]T&],QNY4Q>M?)Q0AU(]1?"6"V"'M?
M&EZ,X#9L8]CFJ6SS3&ELV,:PS<&RS5MV3 DJAG6,LFN4W37#CU5]!'^V@5=>
M$EW>=54%!TKS"M.8!V[\:$_9[5V;[6S&N 8@>>U^C \HC![IXADUBN%^H#-D
MLF;BHICA* IO/5<6Z7E'R45></3!X-+3U*(]8KV#PIG#FZPA:3/9/9NL(>D]
MG^S3M<&LQ?M!M^8^UXK/93UM7J+7):[$7C77>E:STU>GA4VTP=V.;5ZE2;95
M*W6L]B[ONFE>:WC:\+3.TRV[5&T_&@+>YETW/&UXVO"T[@=OM$M6L['_NS[3
MM__"[NY#,7!.J<JE,7#V!C@/3"RN@I>672O9K4,%S)W>=L/4AJEG,[5= Z:N
M-7=YMPU3&Z8V3*U[*ZJ=4J=I'=9FFXC-LVA%-<(R!HV!R4.#2;O>/CR8W.G-
M-JR\S[N[DF^B5JK56KN\V<:*,3QM>%H7STV[9'<.+(_"A&6>12LG_3[V\@S[
M6D\>+!&9-9,* ZU][?_M1>_5%NC_3C>US;HS"]GZUAA%+\6(CQ_HW E6?28N
M/^DXZVXB]SO+*K5JG4T03'ZB]=7QRFAL!CL,=KQ 5DZIW7RY<)2!#@,=!CH.
M!SI:+Y>CNW_0L?80&0W="UP8@WSB<ZQ-M1Y4MI@>HC^U.ETD>@N-T3.18+^"
MB-H*O'.%_.THZ]TLC5"FF9MS#%)CA&Y,&M@5&]G;#5.LG_V*\F#S>=S++,1V
MD,LJOD2[!6KERZ4N+ERTUY0.!^9>-@AB$&1#RF6[6JHUUF68;A&"&-/40(F!
MDG5"2:W:+MGVR^4=;2V4O$SX<\\+KVU="<?=@=FEJ_#L\[;N\]P,R>[EMN[S
MW S)OOJVZL_O8L_*O2;BEYAMIG;!3^P(2+]N8?87O6WM#2,?J6&VY-HT7Z?K
MYVKM3;%W6=%L/9RQ$$7QWJS_]UO+JE4Z>3?D2/1]X=!=@8R#A$/9I+MN:4V3
M,;81A$&9GN(,8#&H,SCN#/;L;EM:]_:BX6TD?(ZA$&RR/@R!*U4G=GB\%]S"
M',)H#"LF1N5TE#VUQ%P!:^1X="EV!D]X<..A<:0_H\0>/-(5O42V4D]50^J\
MJ[D3Q@D\6399OX$7RUZ\KE#-VOO<B]@M]U-XB?M7&LMNO#B4OH@BJGA,ZY+P
M>QPA=3<O]SC60H;/1R*(Y7.RE<&7^V%,B8Q */#.U(L'67]>'&B%=5D6:L)(
M4[$>^8[A#E3U%NY 1LZ O;5KVL;<\5A?9NQD=X$QJ#3KL?W=YP&\+"A"7!YN
MD1AQS\5^]3!VG-+,3<LNHVG+%0WB-*(EA??>"=_'GW':BYW(&U%C8%KE.!U2
M#_I:,8'I"7/'D67-L[;!^'CX,$I%,:[B6>QMK55I3= C3MV%'4O"[6DP['JW
M.=;XXK[L>A%R5QA@4]5T&'P$^ASY?/P!O_TXPB[:P8T6L_;DJU245WZ ].CU
MQ]E;Z=:R"-R/O? >AX^]87.?POV2@FZ5MMNKU;Q?;<$;DPUJ8+UIW0>Y^V'$
M;X3T,I1Y'X;Y@?MW?!RK!JKZ!F6K3Z)Q]M*OLL*[V96X6-)]%9H(D8DWS+JP
M\['LO YPE_=;+Z"-NJO+2RA;?3CRP[$0K!<&*>*3!I;8/ GPB$ 7A7*%7<'-
MD1AR+\#/G.E:^C/E=23BU,<G]J-P"'+I-HP(';/,>&P+#S@=IK%JSGX71C_E
MXT>H*.6X6CDL'<A^F@[4LBO6$CJ0U6YJ(O@1):C>T?2JF?)T4K.95&?FZB83
M"LE,G6=:S9FIM=#H'U-<'B@*N92&<0OO5I)B+M]U100&0^N22>9B =S( \Y"
MBD=NLCJ5QB]L+'@$-%=V\=2'_L)(P+4I_2IWE<<T4A[E7&;!* &Y<=S<]\<E
M8%8VX* \3 Z]T*AP)QNMBIV/%9X3IZ,1+"5I&I2ND]U*+-9/07L2V6#@?=/*
M2J;)P"*TM0=+=80M 3&SE!WMH;9&=NJA3AB-PDBM5[&MJ*!5V'F_'XN$2!A>
M#@M Z)3M">X'!P+5:#[0DYY@Q@7C^/21[W'J!H_\HP80 "].718S4@5H^9"^
M<_2SY0QQ(O5B(F*1!@JC\5.7H&SF3&?BJ6I'L@R6IL%FT?1Q1-M1@WM13;VM
M'/"TDKZOHO <!* W8W-TBPSTDMH#S)9@6].M0,7S) $+D%<ID>P=PD=VMQ0-
MPCV2W-A7#=6IQ3-W_@V6+V$UP=$W 6,-;SG!PQ<P9#YY83PF[J>;^,U-)&Z
M]2OL6+$@(03 /0"R/I-:1X/(? *DNBE9*F>0@QRJ![!Z:9]GIC$P.7>\9(Q<
M[[NPH@*!5 &H_MH2XEA;TQ=@UV)$/C<#"M@W5XI?7=Z'M"$ D""HRK X+ [[
MR1V(,EJD7$E\ -> J(#K(.A1OL''B.V9_!QR''U"4@V?'P] C)7A'4.U]Z2K
MPH+\J%Q66()S3]'+(AR\S9.@]WL:"+5BTJDP0T6JV@6E5+;'PCY@YK5K-4W7
MR*A%$[HEAL)1X]YV>YK;9_"44K6F>,=]0>:I51IK8!Z[PDY1/9:J($'(I1@E
M8M@3F4F #'.,VF,P)D4)-)(P$&70S42)5'E0_=/ 19U _@W3A<>1CI".0&T
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
MH@$A;@C)0WA#HEZ!<!#V^R)BJ:R?U<-=":G<#AXQDK(6H)36!DLN(OC(4@:
M'(/0=T44TS%?RL5Y\%KY,A(1^"Z$^7R(&DX47C#X$D]YJX..!4OC2R0L\EON
M^;(RS*2 P<1WF"(>+,G..+"^']XI?WYNX1#F87'$?A\N5L?%L;92W!_3&WPZ
MQ8RSU[&S1',7]QSWHY2=CM&PKYQ)A&(V4JS!;3 ,@2<8AV0QJ34L2(&#@+O1
M]D@6N,&*1MKB9?L:8[TS=7HSQ*=D):1PL%AL@L05'367Y8]ZB79JNB3+ ,FL
M#\[D(7I, 96Z%5)N(%\/PQS*\P5>Y);Q0-F8]@8F5L+K:#SR4GJ'^D[6_LF.
MRZLQ*:2>-RB:GSIL 1SO>GZ:G:6;)K:2.@B!R>%3#Z D<JK9#!PL B^,I' .
MY2$Z_= K'= CDKI#"\2+)](:<";(#U&8W@P>'/LM%ER=G5TT,=QJ;8DRRB@I
M I][I:.8/Z"4'SP]"'<F$\B0G>>9,N"Q+MA8/6K&UNF9\NHMBLH) T+4:[P
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
MPN L'0(_.40F7ZZM1K_6[-C5<KO?:Y7K%J^6N<WKY1IO6WVWWVZV.XTWQ&-
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
M*Z>1:B^7NYHGXG#5D&-$6@?6M$O<_8V#A1C%!R7_R=:F-9 (-Y1K@"ZY81K
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
M8(4''[0N>B!*+[-25FZ,L]_&\&U9/UBCQY1A;!<!:L"$' 1 16DUY]X#3[:
MC=:J&+<T@N+$&I5L\NWLVV@9H(R48TDQCHMQW&X-V!<II_D\Q='2?<:FE/Z+
M%*J*>WK$I;,I9 HQJ[I7KABG5O  V5(5HA/>T8TTX#:V[(7,O9J&V6EZ[SY?
MAD-:ZU"1'&U;!*P!$W(0@&4-(]S4P&UR"H1*#@P)"9BC64@=F8VMC _M'+#,
MT,NL,%3;N:5[?);F;CF9?AB=)+=(HT9@ZUJ,\T5"R[?_(H:*Y&Y%XGDRS!(.
MC"</@F0.)M, 4J4LM#%&NM"&Y7LI@[]6$7Q;3WJ<_[98Y0-;&T1=(R=WK_)
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
M2!*22+715+M-*&U_[H$\(_26^-L= ;E.)&"%+V=N/OI43S\>/8$ 6*(M4XI
M:N)&C#MP.A)P/$;CG54FMM+,<9/P#=T61^?+C[-Y.5J\0?!%\\OKM'SU^I>M
MN-HXZRCC!+A2"H31"6SA<G LVR@XUR*V4I#=\>%D'<%WQQB^W?/KZ@0C=WF^
M)^';$%PHJ!2!J.! D)C 1>: 44^<ED:R=I8CW$;:X_/E8NFF<3+]\)VTK1'7
M2M^J]A=I>M?AA/94*EG.I5PJ#RH86*HU1.NM82E'9ELIS;SM<*\6B_/OYMD'
MGLM$+5WT$1RUIL@6)>"E9)!(IE28P#+C7<ECE^>RQDKOL@-O93D74QZ,$46%
M:D$I+S:$LQM)^;;.U2(S3F</ 9B]@:!_]_,_KG]P_>ND(?1H-A_-KJX&\^P]
M;J;'P1+WU LI[FM3&FA2K!_!D@!GBZ7G7,HJ>Z[XYECBQZN2QIK'91Q8#H0P
MA3#UH.T/,;OL:;&;0K&;!/7%XHU! 3&V0%&.F432O@6%,'4XM?2/AK[#B(K6
MFIC9]"E#HB82J24O)H(6I+:R4S Z>XB&L"AB3D)N+/':;NU@/>F3QP'O*"UD
MT6JF)43!BD>7%0='9/EGMLXQ'R7WK906[LDE[%\P]*>G""JI1)*O8]=RKJQO
M4F%]D0AX[I4R,F9O6S&6KU%]1Y%0)3-1IHBR%C*#T,Z"I[1\YZVA1//,V$:>
MXY'\W/K)#-GO..B3L*P1QC&>+61%+ @B,KBDRA<7E&6<"Y=:Z0?9(.Q6\;0'
MIZ.TXL07=BV:R$.=G@)>15\#]TH:12EC&X'[5DZU?33MEK"]'&NEQN3630>[
MY-<[ F47#+P<O4@AG?HT'W$ZKHNW>5..^P3<K(/06= (5&17$S;%#0@F &4D
M2B-J@7,K\^)WR\VA\&PV/H&AOG!SG9KF%:GA_*2B$(4]<TMK4;OE9BGU6-FG
MYN9O,2^[/RY<.1L#P\/P23'B<D\"U868;($54[1F@=I<;%WN/-"<O3+91D;;
M-AP>$6ZY!8YP?Q""U( ).1"08KDXX EX0240JED/;",8E[0V*BOC6EFJV1E(
M#7SS[W[7R>YI+\A1C)/**NYD=.8F$2;347!GDZ4[03W08UE!/7!/F;90*B6O
M0">J0#"7P=OJ4$LO3;1":=_*!LPKT7M3)._5]/E*[JZIA[86^XRELF/&]+#U
M X+7L DY"/!23%)J"W@QXXNGS7+!K<RJ)>N,LB(RYUOIK=@E> D]9@J-VR>O
M>#@\XS:$\]/SDYKE'LV:#3UA=EK^ZF.:+B:?TNADML !@7V6FH/6%*TE,7[_
M!,FUE+BEG"L(M)8"<TG!U&8,ZGC1-2S&HIE:,:*O1+S95/'\NH"_FA9Y3[\6
M*7^=EL?YO?O\<*6T*'0IWWUK>84>"WY;-<O!"ME-3KB+Z'] V#P8BB)L'@YL
M:DHE(5&#XIJ!J.AG0TA@M;&*E.]X:L=\?V+8%&-N.USZ<U"PB7'K1YKVR<VG
MD^D'-.5QONT6I,;YMJLV\,!<,<MKNE,5XSMJ ][E8KI+Y>N>:"(VFV*V,=C?
MIJ6;3%-\N1;::X+\(N5)F+2UF$)P,S8"5VYB7!PA$B&RE74]S'A/#8.@&"W
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
M7&"N[H@73 FC:(B!M=*:TQTT,B;&2G<X0@ZQ<1\X'[$1L7'70SQ$SE00":J
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
MWI76^8HM#DOOH V.@(B ^*!1',DR:Z,$)D4&D5@"+VB$3*62PF2C5"M+4KH
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
M2&H48Z0MBC&2&L5XH+1%,1X,J5&,^TM;%./!D!K%&$NOMR[Z\<D+J74=ZLY
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
MYLWL$EZE^2.,#&A*'R;W@=$2""XX6G"TX.BAX:C5%276,\08**.\D@Q9+@C
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
MFL=UR 4TCP<TL2-:)M ,G@-H*B>14MH@)X/PCBD>Q499_WUB7X\*FD*?5 5
M <T"F@4T#P@T31 D!.91%&F(A*D<:(T"+&?!')&5\4';7839'A$T>344I3W*
M4Q3KGJNOY,WX$_PPF=:A*9*K2*ZCD5Q[EBT6,U8I"MHT$39-9Z^0MAJCZ)BW
MC(<8V4ZFLV_*EA6&W'4:!\=#L#).2;H<'-$70#O=LRVJ^*UP*1QHPMAQ9"NI
M$)="(TTD:.8^1J.H(\%OU,KMQG]Q+[C\>C-=.:3XI/+=BN>BP&6!RT."2T^,
MUP0C%3Q&W#. 2Z9!SS1$6ALP57$G,^(> RZ5'DIU4@5AC^FR*.D=W\]3OT_#
ME:G](+3)[FUR\"3EPG?9PD60%4%6!-FCQ"V-H)IYC8(.!'&LTQQG:U!@3#E"
M?*#51J^?W;A).A#HIZ!VA2\OQCX7Q;S(.+"K@CXVQ*S4]!4</:Y#/C,<W;?*
M3@(!?#+(,*L M81!EHN #*66DN"PL3N96+]OI+OCK+4A.ZWDC8-CA@)TIWNV
M16&\%48UH0*[2) ,ND*<28I4D X)(YB@,G"W&5?;C>?C,15&/"2Z) R7+(Y'
M<XF\6]1+CQ*U#S)PI)+H.?Q2G")%QAV9C-NWV\(J+(4UB$<*$H5HA;0('L2*
MP!R#FH\W!Q!]]Q2U7@3YA0A:<.EOZ?<_TL+?Q;^#$$H,NO,^;7R(Q4F-2SXX
M'BCX=KIG6W3XV_.NC5/&<T#"6+%4X1>1%=*@B#VA7#D 1//@\6U[0\^O^SWX
M4/"3 LWBZBWH6=#S@-"SHH&H& .B,I7Z84>0P8")F$DB2* J;.J>WSU#[FG0
MDP\9.:DQ]"43Y,#='B7IHTBP(L$>68+9RDONHD/6,9!@UAND"">HDD8*'JRO
MZ)Z2/C*_+R393GWVO"HYC 4TC^N0"V@>#VA&944(AB&)<86XEQ8!Z&FD<"5D
ML%QIO:?\D3V"YHE- BF@64#SU$!SS[#FK"+.*8*"PQ8@R@NDE?:I\[U5E0Z,
M4[V??(Z'P=H="Z9/*^WWJ?O>%R_&U]N57IGKTJNTR)>CDB]'K90'&UCDQB/%
MI 'IY2+2-@0D//=&44^5"?OM5?I[R_*[%EQZJ/!)-?HHJGF!S@*=!P2="1MC
ML "=,@C$98S(>DN0DZ#/QZH2P;#]=BS=$W2J(=&R0&>!SJ,ZY#.#SGWG!RM6
MR>2B]4XHQ+W"2!$2D)72$:*C4G[/G46_&]R^G@NL3ZVM:)F\<JBNC.D\+%MS
M%*%2A,K1")6CUL=5U!QCRY&Q2;<V$<0/36-7(DTN>EP1O*>&I1W/_[:<SKGS
M:G0YU+1$&H\?/A] ]8,C/NV"H\>#H\RYH  M$7=>@!I/*J1<15%T-*0.T$'I
MC?3LG?DU]HVC0TQ*<4N!T2,][3.#T7T[<$UPDO&(L-  6@202U/&$-6Z$L0Q
MP#FY-Q_'O8'N&^EH0W+N;8M*QL83M-L8=:1\?6J2IO@[3EC '+6>'GSEO6,1
M:<<HXBQZ^,E09"L?M;)$8![W5(2R5DG92['KW:=P4%J4]0*AQW7(9P:A^ZZT
M$Y))SQ725H*^'2)#-C7/LXI8$8P*3*@]%8T\%.2^KJBK877N\<B":>5LSQ'3
M@J:,<RF1JV($? H>J<@M$HJ#=B9,I>V><BOVBVG54 MUWI!64BP>P??PVV3\
M$0$V7"Z\#F5TZTX%C 7B"]/%NSX#&ADTDU'M!_UY'0,OWO/TO[WXLQ!2CM%
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
MN*\P4LPX5$D#_UIKB8F'"*@59D-%> '4 J@%4 N@[JEEA5)26RJ0C,HB;E1
M.@9 U4IRQG45*=N8@Q %7&*Q1D1HGCH]660IC\B[P#'%L0H5/D1 E21-?J$%
M4'=>WE=RB;[J:0GPU^)CV;L$H\]HXC@_F=M1>$(9=C<?Y__:FS#;O@]G(<XJ
MZ4D($NP#'AGB6#AD' .MWU:64# "E&,WQ1D7(/^TP$BP--H3# 2DL18(1RI)
MQ9SVU4$Z7*0@0T;98XFS&U1U5 +MY/!U]0$OIK49%<0MB/LT!D1E*7: N)IS
M0$_G!!@#-B(=*M"U3:BD\\7%71"W(&Y!W(*XNT!<0C$HI4JCZ)Q!G(2(%*48
M81J4D!5UF&[,KRD^\)-'W-VFQVRETTU/SK$[;=[/KZY&(;6/-Z.!KQLWFC3S
M:4C>FNS&B:/)YT$];FD4"._YMPCOV,3:/848;'GZY-]^H#^<V<K+:H]@M3M3
MU@J=E]4>\&H+G9_KR1]>4"\OX[PG!+\9N\EE&,S,%WB!*U.76-]13Z-_?!_'
M6?@OJ*YPA:-&KI*Y=;1!VD2'J,,":THY-F(7!?\M-WY(S/@[\.+;L+.B_&JH
MJSW&W8[!VW!R*/9D_MV":R>":\IX[H/"B% M =<D1B9*D5(1B%#&:&QVTO!Q
M;[C&^)#ML]=(P;6":P77C@[70$M3U./4D0DSQ(5UR$I,$;-..2,X993LHIY[
M;[A&JJ$@9XYK^RZ>+M8_6/\  *&9%<N_2)(B2;9V!A$NN(HQI"L!DD3:"JD(
M1KVS\$>B3"6JL!O+O^7$W8H1K?:8^74,,N3D\*OHQ@71'MC@P<E*2^<00%%$
MG#E0E@PEB'-+@^74*;%1CWP_FW\?B$:&F!4_9L&T(SWM@FG[&5J I;)I@+VB
MT:?R7HVTJBI45<%I3XWR?J.&ZG[V_IXP;9_#8XX!TW8;Z2^9H$!(*&>#UN-/
M0*^I8UJJ\XW]#-J!60RA+?FA)9^HK/;@5UORYL[UY,]KM87.S_7D3R-"M$7I
M/O(@T8NF";,&-,9_S.MI\&#S^# =3-HY:J!*CE(;ZC)CJM3/EOK9O>4S6%\9
M;PTRRF+$J2+(TH"1P3IHP61T8F,@R7VB4'^DM;V+?V]"9OIW=F;J<?!OQGUS
M^=>3Z;N>\7]+?/];;6P]JF?7._*%\"%CCS8[ZIAK9T\.6TNW@H*V!X*V5*@
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
M2ZQ[EUUWN.UBGIIP'-0S?OCN,-_3'V9+^Q>1'Y7K'6*V7$2OO2*'"5ZX:*W
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
MA#T0<*/)8_IDT"UY%!+>W2HX@N9!4DSU+[D@0@9+C,U*4CI1*F^$%L6&,O<
M'H5=X-T>.CL^(C9((1,/[D_HV6#0A7$Q_>(;K,9UYF>1=J?6I^2*0VE6?)",
M^\2[%>_>9UY041HF2*X+T.@#+XF6/B<T4\)3YPO--GSFW^VNN#+VK^?[3NB%
MWSJF_[CB^1@4^!MR_"/0ZF_?O_@I,51"TH2DSPM)%?=6RL(3D<F,"&$<T=R6
MI"BUR3/KK-(;_6R_VS=R2$CZP/T9$Y(^:Q]*PM9GC*T^=QS 4!%&*49V&$,,
MP"F!7Z@5F2UX4=S9#W- V'K_T;I/#%OW%O_!=N&O88_:7W-6XR<@$+ Z^BGP
M;$OQ3U80)K&7Q-[#B+U"@&W "D&RDI5$^+P@RG!-@I<69)[F4N3W5CVCZSW<
MBK]!^<[7[I^+9GX*X[Y[ OK]%])X8G(N06>"S@2=-\GM"T+97.<DHU8!= I*
MC&&!*$4+1;W,9+%1>&AG!3L> #KI6*E[SW%/X'E(X)D<,'LGA6<+IS+/ \MH
M29R5C@B>:R+SC!-?:$<%$P4K-E*E=U8EY '@E(V94 E.#S=&YC8NED?@0UEU
M'$;Z;&O/>S?R7<P7!KZ,^B9R.I([?/OUEDWJED_J7O-D)>4>Y2([8LC6KEY@
MZ9?G*AFWK\(3E8U95A929H$PCJ>_@GEB2B.(9ZHP10C*^#N%T%Q30>LRZ7CW
M-BO%F)</[*"Y0#B/42PF[$S8F;#SIMC)"VY*79(\&$H$IDP:KR6QBA4B*TTA
MV(9=L<.ZJO>'G>58Y _LGTG8N6_L/"@/34+39X>F3-@\\YR3(K> C+1DQ%B:
M$]!+G396!K99\FF'M5SO$TU!'"0T/82@F*UD>I-(&2QA^ATQ,?DC#(D9/87>
M4ZG3U [D59ITHNOGL\7/<M*'0M<[-CH2I3^S2:?FT7?6^]YN'-<]B:[1"5D>
MR,.3EB%Q0R*#M R)&Q(W)&ZXLV::BCK?6I.-%<?2^=RS.I];)Y?+5N3?TD'=
M[@[JN+.%+TU!C'0Y$5PR(K7*".<Y'KJIO%0;=51O$S)VL79@9.^UXSC,5\>N
MBWKNFP_A]:F?P4;]5$\F>M;$6[[OI"X[*E/4PS.+>D@8FC!T'QE^ACDJ3$9H
M%B01A5!$%GE!@LD8Y39SU/%=A(X].(;R(YXP])EA:-),$ZH>!*HJ%PK#O2 .
M$)4(H3@Q)>/$<B,8Z)RR\#M)]'MP5&5'_-X;9CTY5$UEL/=35ND)Y^8E29<D
MW4%(.BI4'G(G2; @WP0O *I$'@AGU"N@/._,G;I_7R;I.@:_9R],BI9^9A9$
M0M&$HOM 418$\T80G0= Q#)0(C,=2%8$XZ0MF-+A/KPP#X"B_(@E%'UF*)JT
MTX2K!X&KRGBN2YV3@A8Y$:PP1!5<$LU5SH0QN98;I3]WX8=Y %QE"5=WZ8FY
MS\CL#9?,H_"^I$20%)*7$D&>,*4GNDYT_13I.B%XHO3=I?+!7QKTW?_\BZN^
M;%/0Q%'.Y!]>N:HYF^CSEV'BOPWG6<"TL>!D%<[[(<1K2#/7L_FK."<"@S]M
M7AK=^$DU]1NS7TT$7L;+/^S@W.S"QERY%X.WESFCI2R$8KP4)<M7\ZZF.'02
MIW_%?%_\YP_T3_W2#U:T?0'-LHM/[$R[4-?S:3WWK5WWR^?_R:3#CG Y1GQ*
M(H+51&6Y(H7+,E/XTN9.OQA].YV\G.CI\7^\\%/RVZ<'6J=U<OO5P],:^+T9
MS4]\6S44&[Y4I_"J>2Q8BI^_J>'OZ?D?FV7YB^%0OV,<NZ]:[#W/C'%$2$6)
M$#004QA#N%4V&,,EY1MMHXRCW+&,D5!0N,=Y3HPI,C!?.2NX%DZP#>?D3][,
MWT^;^6R!Q8C?(YCX9OXKV,O1:,8F40@Q^MBOV=5G"S2=&T F>!9A0RLZO_:$
MAU\1:/OPI/('H()IQ%FTL#_Y:07$\0N0?3-R"S^"]12C'Y!8L-4XRU[!)U2U
M%\1/Z*L_C?34C:KYX5&1!;S0E@=@4\6)R%Q!I'>2L%QS6>86:&2SJE+F61ET
M1GP!!"2,LT330A-I6>9<P3SS^OZI2%S71. HRQX5$<DU(H(/^#H-'8U>-]@X
M_"=O/=:D&G$ZQOOX.")5%?!M^ ;O1E_T!!Y:-:.);Q#@8+9X3;VJ6S4ZFU53
M6YWI"3X3OUR],5(K5E.&CV<>5MG#)_.*]"!Y-(+M@0',ZWC]B(IQ/^S[7^#V
M4GSRRVH.TM9>NN27+?BX6]']$4,4+Z>XKM6T)6(@SJ.E[C.0K/ 7R./ESY:<
M?UE$-V7_Z58/%3_BG/_A"J\49=<-?N=A03M8N7>=7#[W>M:,_-0!L6]A"/C)
M(A7#+_#AH:&N#E(+SDO0D*@A@F<%T: =D9RQ(+(REX%GNPC/> U<VS/M)V\7
MLVI>^>;M-SM9P,*]F]6G;V(Y]4A_'\)%?_GKTWIQ;?^![+J3QJP8RROZ#^R!
M^]I)'!Y9V(P9Q@-L;*Z!+(0.1%*O2&9*6PJ=L\+NY+SY$,B"EN684WEX9!%A
MXXZ4\1VTL#ZWRRBC+&6N+'"[9250AK6*2,<D<9K;3#D9V&8\UVU.S Z!,@HY
M5L4!$L9X!#_.O,6UF9R/>[6ILQ!1IZ#EJV;9)Q0;YHZ^@OXT\MWRC0*L7[P'
M]%F[F,1%Q,=<T1G#>*L73=3$SD=?Z\7$C4XTF*DG&C2TZ;I:-O*Q?V]4+EKY
MV)FXWAWM<?6&+IWGI*J\GX[^MIB<1VMP/"05T,N;!6SWOQV:_%&E*1F5&1$^
M:"(*"B@C"P 0;IW*G?*>;F3N L+DP1><4.MS M:D)8IK2\ 2]#QSF0ZVO-H8
M? <CW@(<OWWZ:6GY%4/\(-?Y#Y@LCP[)?S""JR>XROKX>.:/P=P=&%\ZSAQ1
M -T#*\]!M/;.9O67"I'#G$<" JOYM.F!ISUY!@,95LWYV>0<K;K6D.L?,L87
MU=%0^[N>V9.1:%7C\:@U%9L.@-;O@B^7.&.\A]7R\_FD:[^CFY-Q+REO@H#P
M=HV?&.P$A*^+-F4=QB,]WWJWG_BX84>C#].+H_X*&!==!S@6F!3>#V*J!HG]
M:7%V-O%(3["H[Y=+T_OQAFL"^PP/K68S_Z6VV@"+QG?"0^&1[5Q;E+YJC18-
M+O?ZU. J7)^H06Q=HC^N+\ZX?5N_;V=ZUAGNFZ_KEKZUS %"0*:@93\8(E#L
M:;4XQ2O;=\<%7-I&5 R=!3T2P6-.]/38NS'>IY%<O@!]PI),_7$]KW042]U%
MX\-#K"QPYK/<8%%PU)A1^PV6$U"0P)0*/EB]T9[&LDS2'&RHX 1 G5$&]")9
M$%.ZLG"%I[PHKD:L-WHV0V[;*6KQ3!T=E)74H]8VK!KXBI###H\N"J:4!9+(
MX1<09]Z#5$+1)%Q9YDHKJC?RIXW-\D!9(-1Q!](/%&W0DD%I-D)S,*.D-&H/
M= &H>'1YHZ*#HXLE8D6/]X$J.@94!)V7GA1*2(  QHG*P(9VG'*1!R&EV$RO
MOS-L[%[14=D1/432N$+1>0SHD<L@&,\=8=HR K]Z=,\Q@(.":T ( (1R%^3Q
M!B3Z4R>%3G$Y&KVK)Y/Z:Z_KV$G=+/6<MYV",?H\T].F'?L!*ANY#Z77(2>9
MQ@XDAA<$'2_$E]0"C63"EW;W0F7GJ%&HPY0GU74&TD"X@*ZKJVFS=J#UM9J?
M=!;28MJIM4?/U?EPG?%XM=5TA4&YYL?X+A/*P)*T=M*F4=9:'W>QI8Y&GT^J
M9G3J 4'6!OD5R&LXI)U;6:_QK5,<=&LB/^8CT:V.[X>A6-R*_;V]IQ;MZC,D
MX]>??D,U)2-9T;E5T<'Z-SU=Z-GYJ#UG9$>CWY!1AA=?=/0!4OWOHIJUC#'S
M ;ED/>"H<]IVQ&@'&]0L'?#(PAHXM;)+YAB$"@Q/_OM]//7SD]KUOHX55[A!
M4^9>^G[\M.:0;KW, +_HM&Z1HT9XF,9.6'A7?U "VOWI)D9$WW3T&X7%!)!A
M%970>7R,![Q$1W<_@C,_JVIW-/IXB;-JN*3X\+A0)W5E_3K<'(B3&T1KY_)?
M"Z:+\78.:"%*W)<PL,7I=#U"\4P[%&6#+NI5^\ZN(DG[P=9 /C]UKTS]#><!
M3WBYS!'Z=L/(S[N(N56(Z<.OO*1K(:,8$-$'B?[E9)E'=*:/?9LN1'2 L;[4
MDZ_ZO'GUXL]K6]2O?PR%W;[X=UGC!PJR;M]][7[>/ YW&7NR).OGI$H-I/_^
M .92765\F9^]NV/^M4;5J(OC&K=GD!?D6!MXYE#O'D+M%EGXIVO0N9,:=SY
MOP?;S689TX+PX#@1>2:)T3XCI:08LBP+,-@OVF[4,:-R0<'4P] *&0!"O'2$
M25YXF9><T;#O[I%\+$HQ%NR@/,>=?E!-;ZARC*-RLS0WJC#0&5I%Y@@L%=.
M*@5OV$*"$=-O8-?@:?JI7RETAVO.C..5D5G;N>8=J\++ONH9:';U=-+:=9V1
MTELFT=XQ?GEH%\WBWE9I]=6-<-%VD=M!=KL">[%44?OXAS6S2H,".&GJ-06W
MDP]HLX,.^Z]5@(,W\^@,UE.+J]C,._]P%P<,VAP@/ZJ4K9*+VF]WO#=4B.-C
MED$44XR"'%+5<KP7-=I^@UH]<SL$;B&J!BFQ/6GMA@G/VA@/+L34PV>P$K8^
MG@+KN.Z-H._VJBT8B1KC1Q:3^<8)7(N8&VL!LSHX%Y@WU"G!"L)*7Q!!0R#:
M\QP@L<C*S!6BE!MQ2*7*\H)127)TL0OA&9',,L(URZ0H:2B$O BC?8#XA^G
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
MB'678BR$=U?E!_"U_ !^77J5*,>EO+RPRN-EA0?N@9HP+V'>D\ \9;B.6:"
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
MHW\)KI[TVF+B@$%U1B#=L@#RE9YY(G(EB<E+(&[&#1="E,%NQ%U\=^KF_CB
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
MX\G-?%:OCLR1F+!PY0-$\J>LZH/+JA;#I4]9U2FK>M<4!C@5K=@8;+]'T,>
MCQK/L W(1\RY6(/!/B$@.AM:QWUW(+#V#6CEWY%B@A)^T0:IGE13UR ?'(U>
M6S2?@0-BM-)*L>C#H7N8/AN"]",W7I_(>?M.$Q=3\MMNZ//]1E169#[=)@;
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
MOTJ]>^KH-1__S:2V@^)MZH'^>G)4<7(;/GZ</[D-%[;W-=/HVR_FG[<J1A_
M_P23__?X*0YS)[-AJ/XK-Y:.J,T+?;[*%WT V/[SZ$ZX:L61)]:?1,4)G9C%
M.E@D<%*(VWP)DT1$DNCDDV0DD8T$2&5]BE9HV&)V)A)ND7$)HT B"4;%2,E&
M[^T7J3A!SKAXYH(3!>=WNN$[47[_3+T/HNTH:D/T 9!]3@ ]J*(%.]!._\U>
MC5_/]=,6-4LIB/USNW([FC4A'(D0D@F4, &MQA&-M+(:D:!3$D8I;/F38U+F
M=/!F&#H:>);KT9.(0[$B>,T,0U9*B7A0%CD>"/QEG?$Q*"<W+K,?'8?R$L=E
MSEE/+K-+&8A2!F+_?)AS19(!3NJE:*U+CW1R!!F1*(]*4,<W LR8CPR3Y!%6
M5F;>[9%3@B,EA8L"#%IBTDM'J>C>T/4AI4B=?$G= H^'W!Z=0M'+!T?%%/QX
M#$B6=6$+4$X83XKNNO=@Z@*SOL%L'Z5=#QE>!\FJ#MLZM)(39XE#-*2 N%8!
M&1QH3F20/&*KI=LH$O@8+UTIV+KC Q.8@&D>LXM. /"3C,@R$1##P5M+8_(9
M^-_NIWO! U/GM"<6?6&@?1;2A\UAL5+$&6\1-T!WG#J!=.(.*<&#8]C9*#?N
M0;3Q2D="D< &*-UKBAQ10+HT*L>8M8[KE_:_R7/2$VHM3<G[Q!S*AD\F:^P$
M@IK*CLN.CXYCE02*GFFTO74[K;2#KD:IC2CK@%K:G!</U#,Y- 0CE!F#/'=@
MX1@<D,5>(&>3]9YAI<5&[2)EH@>CBB,1"4-<2HXT)A+Y8#F3A'*5=&ES7JBP
M5TS_L,G444:45!$9R2/BW&ND-?6(.(^9X#+!3[?)% .5>FLQHM09(&T'7YL$
M_^0A*4.QTW'GQ6X.AUH/J<WY0;&/IV1ZV.$,Q,YT-JF'%]6@'L8J?H&A&T"3
MG25['A0P#R&<_H1S1OL(G)YAQTGDG8I DXJ@!S,7!>(6"Z1=B$A:JR4U%$0N
MNRV>A=,Z6IQ0D,*"2!<"6<D-LE1K130/ 8N]Y)V*,X&WYUR41N?'RU</0=KT
M02KOQL6#/L_U[0J^:N!Q]2G3\Z'F:1RD(G1Z@.QKP_.# N+Q,,K#=HMP*Y7)
MZ51"4H\X209I0@G"RE'J.3;>J8WXN>1 2XL2]IA3+9W@R$GJD(]*)49\$M'N
M(1SKY0,\]A$_QR57(BB&8LA^+#@(9 FC^?PHQD(X(S<"'JF!X](BHL@D?$.I
M1=I[AJQ)5*1$M1%X+P>VO3C+_AS/A=4>KN _;%[LB%:*Q-R\/#+@Q0S(E*2$
M9+ !")<*YS8R7;FEW&%-@0GX #:P\\AX(Y$0-%%/@TSFQ1N>RUYFNL+?U@UB
MG\KK=G-3F/NKTSV85$/]:6F)=VML_>/LG#'V_>M0-^.!O7Z5!O'+^F;_,6NF
M=;I>C-V^@9JIG4Q?M]M"L(&KYE4N'9A=RAL N%GA?*JG>Q_7#_YAX&'GG"M#
M#.&"8,F,NMES/<P+1^W6O[+;[_[\ _GC J(KT.S&)QC?'G%.RVDTF@Y'T]@1
M\KN/_T\)@UTP(&QC5JLH84@'Z1%V)H4H1,062.K+U>#5P XO_N]W<8C^_N%E
MH+2.1'\?CEP3)Y\R:53U<#R;-M5GD/35TK1VU]7T,E:3.&BU@2K9>M+9V=4H
MM8_R:%TWEOSG33N6:C!WMEV?+[%T!5CP+P#Q\K\=PW@WNP+%PR]^'7\%G[>3
M[_TDM7-O^:W%?,M1? 10OAU=P;S7%6A:P$NG\%T&\"- 'CL+LZEF3;X!LM5*
M[:^J6=;].J_>7@+BP?CUL!UP/!G](_K6E1(G+7<?^N5LUO]K5D\R+N118]/
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
MC?54^GK6IHM%P>J/@N4HQ1$SE*+-C9N4 ([I(PI$^R"I#!Z3#3\6Y]$YX5#
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
M.JVVR+H@$5;6I\ XO'K'F_\:$;L]B_:7Y7BU7,0]"8DYO;G$\N%DY+3:7$%
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
M!R><O@<+3W=K_M2M'($?04=#/*E^F/@>J!.?)3?1^TGU:YS.XX6+LXK(DTR
M2K8)4%OLZ&B(Z@K:]W:U>MGN'O\\MBTAW'_'V1F\(O_IEUC/SBS8R8XM[IL_
M_INF%+]9#O?JSO5KVLODS9\[*J.W'^T8'EK>].O"==-S4MGJVSBVGS)-IJ]G
MTWK)1=>R8U:?SNM,[59_FD!# ]AA#T'9PC6C,+*SRQ6GTK)')[L?J7[\\=W6
M)\:CB]%\@W#SLJ5HRL/QE1]<BMK^7IRT;_WU'/X,[P6C"V.X)/*#ZQ\CS-'L
MX\C#C"[;^2X+APWUS>T\R4%I9J$= 7#.F\Q8:WV^;INV:;.M#\ [SU8S:D$^
M9Y-XB4!D$N!*[LRR_7]JJB;ZQ0S>T[6S:<E-%S-_GJNM+.]JN?]R6L&D62*W
M']<--++>%#:*5\*6/UHOR4SC[")_8[[DQEIRG-XD.L^<>6_07*NW6LV.MG;4
M5.?1AG\M[&QE)JH?H[.3+-7Y;?]I+Z;-.6C("0A2RB(#$ O_R3KF9G:V(GT<
MPUM:?K1U!G!^E4TIKVY?PLUG^:XP:GP-CW=Z&+J\X=88=1R0^0WPF(M-KJ2
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
M%N&U368EJ-)BOIC%"BS^I+X8^<K%282GFK9XD9_G(SYU96>C)E9I5E]4%O#
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
MOF9AH>'0+1A9?U[]$J<P$W&RIK7>I .L%_/,$QCR]Z%K%W6>I#P4<'TE0YD
M<'!T?=09[S"ER!D<(0PF$AEG"?+84"^=8S'LG E@P4<EF$.28)S/$5@$,;1%
M)CHI"%,Z27H=4WZVE^VZ[X=Z"1<KD(G-?\SJIB^6/JY.;X:&I]>=-4U?9K.T
MS?EIU;+CS4%HF^4T^''==/QZ_[4 Z22=DE7?9*GZX[]I2O&;E0!M,E.VE\B;
M/Y\>L',],/$-FC3X%E X61J&45.=1QO^M;"SE2T\J3[4BW&]:,!ZK:S8*%..
MPFL7"69^,0/[!+;AO"5)J]+(P>_?+.?[/[]?S6X%GW'P?&Q.UC]6%W7FJ>N8
M3YO+9AXOFB6Y:%@T\WSLM[WD1O5T5GM0L6R4[!2LE^\.>)VN31+<D/E)FZJE
M$\TV>=R9Z_R"^'FZ9%-;6?O<+*+>@'6L9_-4@V3G/OSG]^MFY/MAG,#SRSY&
MTW%!;O)$-EM\JJ.)G^5"5,W:N*Z_L.YM?F77XXW!:\VLS;QE\\Z\QR9[-:/F
M/(]+]:F>C0/R8YNY+%N$RNV,GWTV[C 961V_6\SJ:6QY,T, ).A0P7JX9\6%
M>3:N'0QFSAF"3^0A[L@L1Y-)_;&%C?4 #D4-P?)!-S.WYC8-XSA^1@&L;FMS
M,OO:XF+R)HR:Z=A>OLY7WTQA&*#3&ZM[H^Z;RP6Q[@^9Q7.4+E>?;Q]%<1+
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
M?=?I[7<KK5VBU \KE>WK:#GA!:-*$/7T&+46Y&J)+ 58CD;5"K!L HMSPH>
M Q(D, 3P()!EV #.: M_<HP&/K28J6\8$KR$2B54.@ ,O5]O(H_SL>RJ5?F\
M?+]H5KG'!9B.1OD*,&T1I00M&7$"D"C7X^)!(2ORAF1(VG$C+98/ J:;CH9]
M-2JME?G'K,N_Y$%ZGWYKND=[HXKGM(1,)60Z %;]G.D[9BOZ#]"#:<ZL*/!T
M-/I6X&D3GDRDB<9$4=" ,AQ3B0PU&EG/!4Y*,QL'=^IJI<(_C^UDOMQT:K6X
MKRVG$\)%0:<221T@DFH)"$O(=&1:5C!I*V12RD;)!6()0(9[I9%F3B** U$:
M8B;>SSG-7J.FK+@_U=U) 4"E]HG>MI<*&)50Z675F2^@-'AM*Z"T"4H$@ 1C
M(9"B@2.>I$$& ]1XXIAAU$?O=DY$8\EDPHXB36.N!LDMTE(;I(S&,3%/^&Z-
MLF'04]P/H/0)564YKP1,PZG-78*GX]&X@E.;.)4XL5$3B[R7#G$(H9"-1"!B
M<'"66IMV@R<NJ!=81V2X;:L69TY^JI%Q05K.&',6OP2<$J4^<8FD#EO/.#Y"
M+>."48/7MX)16W57K4K$*8<<S@7)DHA(,V(0]CHQQ5VP?J=XC%"9HDU*A&TN
M.),P XPB">$H70HN:JT&2O5WS\TG<C,GU7'I3(FDGA2C5G)<4.EH-*R@TM8*
M'X70*2_N&9P):*.G2'/ID1/.N^B<T;P7SL.^ 4.<2%WBFA+7#"#Q>\6N5+:)
MCD?ECA5$OOE*HJU[+N<Y'B/#"3F;MY H_*2%$ AKYZ@6(<H>#LP^7OKXZOKE
MNRXOHK?\<?H":2'N1J)R(WE B9>>%/M^K#-!7YQ=@. N*<GG]G.!P&>M@@4"
MAP>!1F%.VU.]GK1T2!YIBRD*%!,F@K::#0L"OUW:@P_V\QK_KE(#[PZ!#<P9
M_'1;49H31F\N_/!<%?$@6%CBP >EK8_K7(DV(^(&RVZ!P8=JW[IJ[ZK \G1>
MM<S<U6JN7CI0WCX"!4KO5CD@)"UPLH"=+$(T:20"]$R(29>D]<99-CAFP2OD
MW+C6&IR^@LG'ILWX@OAVT1=F1P.Q#PPW:1\02X<,L>W7/G5CZ.IQ^'+1@#77
M_9Y"D@5Y^U5<>DJSYH9ZD1FX#XB]VU)T9X'IFWWW+J/S;'#YSJ-X _T4P3P2
M0A%.T2+. %BU# %1QY(02BN2#@FLJRW'_0#;&ZT'ER=&/2F87I.Z0\+IPS<L
MX><\=7];#>"R!@;\'D8?C[U&SDJ4JWUY*D=6$V==916 ?W#5R80E5C&9D%!"
M(J[!'KK@!=(,6QFHE5[VPBA1JJR^V:A1-HOPVB9G%5=I,5_DNJAP5WTQ\I6+
MDPA/-6V%+Y^K><WKRLY&3>P*FED #3^:=G6^+B<1A!Z^O:YUMED \EK!(WC#
MU0/+JF*5![-MMRN+I00?B!/?%EV:9)N?:XR<;;9M.JO_N6Z<RY68SD?QXZHD
M+'1M,5X7A-E3;/*T^G7AFGGNBAV/+W.-F=7=:V59UWP?;0^%RT5H<RFE!<QF
MAI%<R6Q9U"SOZ$P7LVG=Q&8HE95 ^#H:\KA=96D</Z, &M'*9"['LKB8O FC
M9CJVEZ_SU3=3&S(+\D8D.NJ^N8S9NC_D,E6C=+GZ?/LHBI, T/LY]R,7EEFC
M\.<[0NU#:AA=>8Y//_)&;2%W!N(.K?]ZOHYXI_8L=L$LL@E:^MJ./]G+)A>7
MV9R@U>BWGL?^H7_("#_/LD9+W^8OFT)]W([.%8@MJP .Q.ST6]!-8(=%DHB9
MS(KH,456)8<H9]B(R$*@L=^";C>["5?+C\W/=C9_G_8$61]BOR7=GJWK>56,
M;5F(+*\X 6 NZT!O%'Q;PN]H73XO>Q(KR5XM5=VQE'1[MA<LY0Q&?PZ.6'Y@
MT<2T&%=CF-&FE(![/B7@!#O5ZM;Z;:>:WG:+.=7ZUCIQ=WC/+=<I/I7X?O7H
M;ED:U_=?&=\K8_M'^3ZKM_H@:K%\_]L9^.H]+.<.NL./U;U[;8FN6ON( _(P
M'_TN"Z^_K>Q]BH\R;.NUPR$,7-^R!!.1K_[[*_JJR-5-Q;>+6/5WTF8X&'<@
MW^^ (/<<]V1OS9#]@L[TUM^GL<7'U^,[H\\0;&2?V/+-VWT%RQ];.EX*AO27
MI?LU&4/#20DZ!#_G@4;C"3)^!GTH8_]J:5)),4(8LL88Q*7ER/@4D>(T6FZI
MMW3G!(1U7@:M(L(N\X 1&I Q@2(FM9,^VL#9#O?D[5NJS3]:U8SA+8R>/8M=
M4/8CQ&1;^Z:HB?YU6,RR2C9QTI_($U9=1CN[RBJ_GBGQ@F1A*%EP!S>*I9S\
M@Q(RC!#<$)]09JE%/)F$3+(..4-E4-10E\APF6O[(E$O'+4'2-T>L*?1/^=L
M<;V>M?W=[WH9(A5Q8#(5U6 (4\B;SCX@[AF5F@AE[,Y&M73*ZD@)BC(Q,)[*
MY&<8RD3A-NFD+6?/T/7BQ?4Z M?KB#3^T3RNQ!)E..5*GT(@KK!JG2T$;E@*
MPE+N-;MN-!P$>$9&A91BN1 ;1&Y:63 T5$5# U>"J^?E<16VY;+.U3-[\C(;
MJ'<&Y>)R#<CETM%@8HU%U(&WQ9F&>#5&\+N\#4*:P)W:8;!/Q >3'2W% T&<
M,'"Y)$O(8^N8IU(8+9^?RR6*QU7(%I[:)SL"LH7]7IMU!FR(5$@*#1Z8L0EI
MESSR@0F>+%>>[ZRR#X>5O"^O[='YQP?*AE!6TIZA%W-\/?YRZ$,.F>KTIW?P
ML)N-_G32V$D#3M%LE,JH/,&H/'\.BT)9\>C>C>#$8(5U+@F6%[*%1"89C4(2
M!&NJ*-_-(3@T]5/_WHTYP486@HK'(:C8^U=X]"O/R#WI(:VO/1.W[Y#67]O1
MV+>TP8P&E3(1Q92//7*1D*5$(@*Z"<H$40;>V8H7)H'X.HJ,)Q[E$A7(*A91
MD"Q$ZIU),5Y7PE]B,Y\M_'PQ&TW.0+5^B>-\9NXMB/O'5L&^'35^7#>+6;SY
M9./&@<^M4^37S]SN/2_>S.UL_J:=#P0C?]&\=K:)8S -.S-W-;1+D7@$$JVO
MFNEE<U:='TUR\U$[!E_H\ZN_B353P,80+L^)87S]A0?KWK8@;XE,]?/83M9"
MW2GW SAHGN5IUQ\FU7\MQI<5Q92=M"=3_U[;6:CL8GY>SS*:M7\$G(.F7?ZI
MJ>!E]JQ=EZ[FT5YD:@F(^3(;QN\Q,UAL#*]=*V*^JQE=3,<@32MN#'@X"T95
M+V95/3NS )UV?0PV7Y^<P9<G[>?KO#(Y'F>.C4S\\#%F[,UG;]N'.PJ.>M*<
M5M"=S#_0O@>^V3%[C#)=QM4GVZ;!-V 4G04)\$OVCGHV;SJK! UM#]^.NL$Y
MV1R"S*NQZG!^,"UF+2WLC5W_)I\7[5J]>M4?_TU3BM_L"F-[@;SY<P73[<^O
MR$:@;WGMH",:L=44FKHD*LD# %.R2';UGJOAJ%R<?XHPA"NRDM].?SVMP IV
MET\J4-'<W]%DT1YUAI8UX&WDUZZ>F,[J3!A2_?I_?X/[\ZC%3,;7-20_D+;X
M^1*,;G,.(Y?I2#H6E)G]5.6CS/F$"+SBHF[F(&Y-](M,<Q2Z-N<W@01B!/_0
MZMW[__GA6T1,!>,=8B9W@2Z-ZE!]LS%XZYM^;J^M1PYF_2+&>1X[F.\FOSVG
ML4S6W[*5/P=9 O'*OS6+Z13: W^"WL;)Q]&LGK3"/9HLI2> $9Q=#H46Y2M9
M(Q[ 2W+8D_@KK5O3VN0/9+X:#X+4#)(:RB1K2<X_)(2"*Q,90TXR@XRB2AO&
MN&([^^(/=G_>Y>'HB_T)W/DALC^!2F:8 EGHS//2P.^:T<Y0M>1'S4VW=)1(
M><-U'//+W&5[9X0GEYP.\_,1 .&_%N#N@'V'/\+'^6GUOKLZ.+$#9(R:18&2
M(Q#Z&I ]K2$(IEYIE@BQ,NUL*!:QNYO8;1N=I1R>#$\&I%0B&N91U/D(A5<8
M&<X3H@;K2"W&A#PH\FJ+2&2J:MN<_S !-VQ>SR[?AAPGM)D*/4D"5:<W+U\<
M4A*:S*&&<N]/.BN4S<ET!JV>P0NS31FM1@7\T/6PY L=@&U>G[=TQN"DC,'S
MS>LFG1N5;9?U/HZS&Y==I,QYE^EC6H\/G)1_+4;3UD6Y9@>;\\4\U)]:MW#;
M)82?EDM.[=N73EU^7_; F\XIG8&7U#G'G93;&9A'Z&EK2"=-ONVJIQN?;F)V
MSB>^:WGVG>O+&-'JCO9E0_&>]K,[W?;J&]B=&%6<>$\1=BDA[@P87"X<PC$*
MQ1010JD^#.X5N].6Z85?XNQC_/OEA\LI7,N6N&_^IGNZC7)%.#X$QW&'PFEQ
MD67W?V/G$8###\:LV13D&R.X[!K &+=Q$8SRZ^UUL&X%]5F3%5%]BN] 5D3U
MK??<=CTS%8F'OJ2/AM!3@P?1$'PJZ?UXEQZM(50.H2$&9J97(BK5$TG'KFE[
M*(6%RFDAS^,0^[%T<4WB0/2#.80.,R*]L@;5LQ8M_[]H9]5WF3VX^A;"S L'
M 3$C)VT8]+A\0L]>JHIQ*L9I@/QFS]\V_;J.._]H+Z9OJN]6D>=R&[AJUZ:*
M=2J:4S3G^I[O:@UJ8^FN*$I1E*(HUZOQ7"W#?KNQ#%MTI>A*T97K!+/M'D.7
MWM-52O[N\VA>O+"B,$5A]FY2U',[+HI1%D^&H)E'T,6[K^P^?]O2-R/OLY>
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
M#YJ,1G-$A#_!THSO _#Z*=Q.X2A,QY5!S<*ZA+48>;"W+$A4!/C!?1A.$/,
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
MJK]%>.@&ON%BS5)XQN(S\1$Q"3]:(5T%ZMUT_7A$X?)E;*=7-("[JR:A4NZ
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
M90VVTO6TBY]I0Z\P".<+/1F,'T#L;34L8PM:"P[K]3S0NWBYTMY4!GL@7A^
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
M'H]TV#,4Z*!ZMQX.K.O/.'&F3VI"+Z'%V;".[#,C'TACX 5A%'#:;56/8\N
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
M\(2W,Z#]^D*1(O2Y^;_6JWYI8=EVRT^P6!+&(%N- /[KS2Q:?J>O?1,(1[J
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
MUZ.$CX;[* WP)!(H%Q5X)0Q4';(7,14K32]9V+7;;2U$"(/LEM(>A%LTI:>
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
M>/>&ZSQU?DE47PZ\-RAR]Z]8$V4^&"%;G>--MXA[4YO[:+U^O1;KEF*WV7K
M^5XO1]O]-$3$VV]O!XQGT^5EK>!WJZ_SXHQ]NWX_3NLX7,S+JWFY",T@UL/0
M92]6E_[FMMVH]Z/YJ%NU?WJUOL9=VTS=MTIYYM6W#>;O?@\_8_>^Y9Z_VS/]
MW$L\]^_N3#W[%F@@3GH@[MD"]CVU<MA$N.=*P?N> /=V&KL'6O>']8"?Q>[O
M4[M_:A'3=L?CH:3CP\HOXG2<[Y8GOR0Z_Z<C.C]N9.2>;BE/+T,Y&&LB0")
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
M+.D2]8MMA7V&BC?7D>*Q];\/:])CAHJ?:%BD0F#"7L+>G6,O"[%RRQ%LB^>
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
MJ#$]HH38P_-?G'T] =9+NLOH,V'N36:=6<;O>\]]?Y=GQFCV^;]G7_#E;^H
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
MEKE\5[[%>R?HNTU?TBS )7]8'RY@FH4#XNF<;LH)N,RW6]75B+OF&#WK''2
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
M,(2S[M%.9%4.BG,BJF"(X!;H(%2,2"=,S-Z'$'=L"2&"7NC@<I]-(L(R1JR
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
M(F=>.S [HN:JU=!F)=RW^U-]K]7 /91;#N+E"=>H<TPAL:IRT0)32"C84M3
MF3)$&AH"?*^DVXDHZ=/:OYY_]_2OWM3K]Y<@7)M[.ZE?"5>!\I\YD9IB?G7
MLLU6D<I3[93A0O,=\\]#R?!G6*12O_)8]&A5AZMS[9+$-9U[HT./;R*Z)VUE
MIA+]%$J0Y<Q%S"D#9HK^\]T'/5X9AN=I&_YPP!%82!F;+0S"HH;Q8N(=+G_#
M%].G=5N3[!;C^7#P#MTJS0\;WP^^:YJ5SL_=VLVPOMN[R3]FB\MYN$)O0ST=
MPR_AJLF1GLX^NLF2]XXFG^#'I8F_=6"TOI&Z9<)ER*/)8N7'V?!BNOE@G#!*
MKFNX$KA*1H#(*:0!Y9DR3;P6@<1L$_*WX'?KR$O!C$!9E4GL9JJ4!-'5H$72
M>F6%DQ&KPIW4I\AEAW#FVQ*2<&-?P.W.NUL>;YC7&!U.7:,>&B7E+@?LV5>:
M24;BLY'$,N>CILBA=J@G<,DD UYD*:C- @W8SAA0M:F1H$DG3!GH/=)?]TB7
M$#W4#R977XVG0>M=<=(><%UC&_82,M;D^0T'?UN&+19DFZ5)$^EU;.3<7V?D
ME)1L5074RR7(2FC[B1:HTE)*5,!"X"::(/K8BD>AY)5#Y<:("93?]Q)S&])9
M2JU=(^F!6Z#T,!^A*_]J., [,!Y@A;1%&Y@"-$]7?'OCR9>SZ:=13,7E?[:T
M20$%%%EO(Y2AA,<V@@#ZD)I0W4I)#+1LVY37&'4PPT"XJS9X85=:*<:OMDS!
M\LR!7#I>8"ROO[H>\53J$EPU\0W+RYLP_!))/(7'N\F\J0LVJMLXD[IXI5:5
M7[!L1A,]%1(:T+8JUQPR3FR'MH+H,YG.!^YS"?8NF[4KH351$Y]+%S+8BNGG
ME7@$+U_RMZ=!N0YHP,]/S/_<%%CQL&F/4^V)#BLMOQUL9%\-WI=R$>U>XBYN
MI8V_LH)UIZ/:K:/>S:[F+*M,J;)$TP J2945\1Z8<JBTXJH*+-*=@@TZV2J
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
M1U0:XW "!&I)K8-2BL&/*5O0!W5&GUZ$>+$]T;]7)>!@&F4XMW#\<Y3MM)$
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
MHZ;<4==Q]'0=O*"U_5W5CK1A9PU!4 )_IQ@@C:$3Q^TU@8-NL3' K.%'^Q0
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
MOGA; 3H?"356;?->M&:@[M5=/1PJ,@4@B<5&XA_1'J_)5CN'9Z4VAC7]B$F
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
M5FWG,U>:@?:[!%^_-GBZZNLX]!HD)B*3NK-1[/ T(DRY@#?]!@7X5D9,O&)
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
M)39DUQ&*'B5Y&+T/FQWW"#GOKY3@Z (9]PRN)&Z%G<%QSGL.B=/U\",C4/:
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
M [SIS/G--[X.W.]VL?$NSB;Z*'R=/OREZ.Z@(DY<5/&.';Y%0E6EZ29@B-@
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
M<5*@@9\+60??0':^Y=@XJ:,[TW;"8%'X_CG!M <]MGV#*%3#\P.QVVZZ\]D
M#^4H#6YV)]%I#IZ8%4-M)513JLMFO[5\MBP9F!X^2+9K?Y7KKGJ\!X<I:U@*
MQ[4&[[Q!?E-JSHK9.;DU3Q2].TRXJ\7J^^N[M))=')^%".C=I5J4W;7VR)><
M9:ELB>B$K:;QA\R-V/6SIXYW5@.*CJ/:P!6I@\]R@"GSFY[4G0QA#P;:.:&S
M%P[V.<V0+PMQ?\+1?F V=2M_X67Y7U7]O;H2VZNZ$O A'[7U@$LJ7 &A[_X&
M4ID22WFNX+E7]:JV2RDOFOJD;N;I&>\,2Z<OU?F!S?$M-#!4@6RD#I/I9 'W
M9R$7*&FR<-SG<(BJO871Y3.\BA4GJHB=;RS:YTW4XGH+\1<.O0-B,RWPIK=<
M_?ZB*;*M&0N>L:]K/7JV$Z:,9M)J_2F&=K_NJS#8$!ZCGC&KFT5-HQ*NQ):,
M'\)!O%GY5VT[HA.&PJ'!4RH(6L&M8W)I S3<K;A>ZM(6F6^(3LJ$^YH>AH2A
MW)BQQC%QN85F0",GSKYU\^]AF2 _?Z$4^3BUZD*<JBXXB,-DZ6F_O)ELNR,U
M%]V+UV#.QVHOE.(2[%Z;!@+I^@E:[B3H;?/#E\&)Q1NN.H4ZX 4J=OO '/A0
M;,V705$@(TNLGT):!!*<$;$XK^T= =I<!W+),U[<!ZQT,0HF!7(P#Z%!-=%
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
MF#4:H/U.W=KWUOK<0AX;4QQOSZGTO;!*WVM3^EX34';_R 6MK9&7W_OIKUM
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
M;9?>6ANP,73S)%'=8<IHH9(#J4N\>G]E10A1M\2BUO(V?J"F!:6%-ASN0Q.
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
M5FV*?6M>$4$0#,^VI-B*%.4[=B;)T^A*__EQ1JK8@'U\_^%/<0;JC@>F[./
M6)2<)!IK#.!PIQLUJ."Y$P;$%/<<*D';B[HLLE68!D'V*TF/VO\7'OQ:9]_
MW(G=P!QC.L=G(0(B%E2\\Q<.?)\\/Q";O_26XR\=FIW==5QM'-C160,[@)H&
M\"!=C2R94IB8!$4?Z3,;_7X%GW'[:U>FTI6WZ,H!/B0(3S4%SDLA_KIE!>-Y
M\?/AXW*3=;9[YNK?N0D]"^']=R$P^-9X2!GQ*J!\;'::'$A0^&SY+=QAEWP!
MA[;JUK.00XIC6E[$H@Z:8W]2-S3W_A29V<YG!U6U3,O/=9U_+\KR=+X03P78
M>,W]V/!)'<XID)7^8K4OM'BDJ6Y;_#*/L-6/@+Y< WZH@>-[3*RXI(\IA<QH
M9* R9$Y7EMVN5.<%G'BVOHU)%--='"!L;SO4Q4FUH".I/P&)WJNR6FUFQ*_G
M+Q;[B%M#;4E@0AI-=RR[+N2L6:_WI))%DZF6W5V-]W^LU^8H4(8Z4EP\P4?.
M%6)_R7%4[VG5"2&%:9.THJ(RLC3*T#52*:<N&Z6ZV=0.QJIX6WR"G)B.<7>O
M]E"Z06? >TS^8LB#47AF!DI<H.+DC'?G,TC@@W5B->S$8>9FV:%WZHO4=Q39
MDP4OF.D"QPD;$B:M8+89P -.AD0*7D=V5QG 4R_,16LT1\ N:/FIC$#2>\:_
M2WX(: !KZDI\F5&/+47;Z+^^:ZU0PXP>YBJ"RXYQQQW$'T/C=\\]&6YZC!^N
M@-9&;(%:]FT!1YT([3JR7L(B[Z$>.Y_E4$OM$?>0Y$CKVWC0RN>@F@X<EP!"
M86H)4TN8BIUADCO,OX]^F8S@:<%ZSN5*HV%3X_,N>4F9V[MBX1=7U /Y')'Q
MA@V-!VAPS&!CRXW'GOG(,<&'O\P^ SQQ7HI$ !8.LI,GW!O<-'I&=L:*[>AV
MMVKO9*<:;6'VT'X;WI^!,QW+RW5?Q^F0];9\L"<[I,.M9O)ASJNMAH;T9VOT
MN,'ZE&RH(_9,C1"([6$:S\,<?8C&N+#+YV.=%C#[C(5G*&"NEQ@7&F-P'C>=
M*'/GU)[?=&E1P<M7Y7I.ZL;ES5(U_UXU._(]FRKROV65\_4)YR\(O,H6@L9W
M]>R='E7,E%;(&^H$&X1A^V..M>Y8E(<698>D->1>99*:']+A E&BH]5-C@[/
MOK%WC!$ROU_X;5H2][)'RS1*89+".7P+LJ?1]B6(:+FZI7HU1V=+V**=S]:(
MM#WK2=9*O=3D&HH@U$;1OX<G##\6)^-;H)9HZN_='438TVK;95%>+"62D4PF
MA4X$BU-%K9#<$I(L+!(Z(P0KL ,F J2TA2PAU ]>U_ C^\:^O6VP9]0=!N!+
M?R!I@;E4"UFC>^RQC3@QX:7XMG_J!G/9S?-*/.3GGEO]>^U4_UH7\MBZD/#C
MQ)X#(%Z3"FFLH0TOY=JJN,3OU]0YMF6<YXKZ5?%10A>()]TVBB72V\(:#2X6
MH9][S)=5(?;Q4?IG1D1;#@&U<8'0">%QXZ2;KU]+EROK4=N*N[VB:@;]8225
MW-MZ>7="#]>%\1AM&&^=&7=6#W?:0R(O%?OH:B=:HM?00CM&=W50*T?MSI4*
MGT0<.$4+[% ,(0XFY[-?:HA<*%(4/19AU,B!T0=^((V:;L9,EG@9GA@,,J2V
M.^[) 84FH@F,GS9/R_D\!7Z]J^*V0@;PJK.*;Z#0IN#;Y>[Z&U;2!.P EBZG
M DEJBY.^"P=<K;*O!K"3G-H;U! >.! W8([4>&6Z[1@T+8.!D*#7"+>:XPU?
MB=$ [FOWAD$CTG3<P(5-*GO8+F\0X^1H%3/7Z<.A>#44-"Q\5C>PF_'JMX?.
M A+);)FQ&NY'!#3XI@4JJ@P5M"P#%4SJB%@/)%GJ+-*M47HFG)X 4N$,XMKE
M .&Q(;MGP0&T80<=I ] AOKQ_;]\&&$$A;@CD5H5Q.VWV:5K,0B*4S;C;7E_
M1$9,!%8Y>]C>W=.=M>D&@2;O-FA/V'$?+@U8F\UXUNF^$W$+70JK8(9@E8E%
M!^^LL[K*Q8J78=1)MF(1Q=(MD)B+@WV1<]W7F6W1E]+?)BFCQ'%1D>&Q!KS5
M.(8E8@=EF8:9&"#IS[1Q$"\SUK&$+<C L)NN_7"JREYJ9UIL7F /N^PYTS%)
M3SPP1K'#GC.E8:_ E[UA4H-W5Q1:4^T%:U=P4CRH>8%C<9M:SYU#<3H#5;@.
M!YQ4$A*P?"@T4.N9< AK447@MM*0..T;]L2Z:.$Y53#^W%[7,I38+Y3?FAN&
MY$(>3TJ.W_\['KA!)FL]L .).#M>EF+E6UHUF,$[^^6]N"'/\)>BNSNM\N*^
MR(55%W7;-;P37L <A"0R_^(YL%0_F!LS-]^%%<R8 :V<MB%,61)UQNDN/>>2
MB$_2?=?B0V*;G5.>R.L8]TBO:[0:SC'@.(=I(0\/"E)B-"##9.J>=8*;6>*Q
M9#TB"]6X\ :?P]X.*ECEX]/#ICZM-HR;\BC#?6R:5)32UDL@#10;?YPF>U#E
MV&,I(,&)@8C_BS8KZW;9C#.#QM&'71\O 6$Y! ZJIZ0R9K0QHR[N8*%T471I
M^0TX(4?HG25I#,7MO^GE@-7QVI>]S>\-YY8HL'4]N/&8%,$9ZT655ED!A2^J
M>-![\A8EE+Y@1YN6;U4GQGU"@D!UGAJ#-_@8W*R!KJ(C3O^>5L.-3EN,!>]%
M/"[Y0AB")TNEE"FMXB=6TY?;YE2$3MP&=(&\?0?Q;FKK"IU\"@BWQYA(4(NJ
MW\]G;]."[]*P@=!S'TU"(FZ7?XP8[F F'(_3&L4?^%RSC^\__@EW(U#IS5,0
M^X*0EBI&]PCE0V+*V&WU"4-GR!&6 2?9JB=4QM^?C+T?/_!L"3%[.PKAN5#;
MR8MGY2V8ML()A@1?M:,ZR2SEP\X9]LT&U[PHS[B;3@,XBSB#X3FYJY.\*'XT
M*348/3ZI&U[<5N]RWN B4IA%A+(Y4T4[E-%XX5A_.'5[<G1Z&B<?^[4HRV(A
M_']5W,[34>I6M$B&,L.NT&/8+R]/S^XX14-CV&\_2JZ\H*:K<D6QK-^((RI<
M_$L]#/<T!RKS69&:G9;L$(!A7U9TMFW%O9,?+AL@0+5_L5:,YWE;ZNI*RUYF
M#&:VQ9K"65&&'%1NF:(TFTF[W=]%+O3;]^L@'Z_?_1_;_X/["N6=B,=CG(,-
MG6I>A"XT[!O$Q$O\^1G>+Z"-;+TI;'8R >(;WMSS3RM*:Q[6[3CA1-5+4\^8
MFWFPL@TW*Z:2GZ#W!7A WIQV6;N+7BKK0X]8Z&Z81TZ*4M+%^ UGH56V8R"/
MD<"@*RQUOE[7=A:TKC#C,,J.E>2SZUHG/!FI4$,V8^P$1P<IK]G+!.=0WS^.
M,%9+[ACO_S-Q#%S; B GAO]L@(AO_/UTR2,;T>39.]%T>">*8<ML?3>:$*-)
MT(?KLFC_U@K??:LRW@"_'R@^K7#-%U\IO)Z#"/J9-E"*WG#4(K&@5,RTIR/.
M98CH$7D__>X)MZ9FV!TQ]WKWO%J*[=W7]+>Z4;SJ[:>5GHPH1R6.W]$H5<-F
M#Y4SK1U^9"8S*@-VVNX8RT\.H9'#HJ'<A>PX=@.^-B9BR2 M]#[\P4XE)(F+
MQ!H\#HQUMN#<KGN,TW&@VN9P=K>;JS6U:IZI=MV:!ZO4.B&_71,7+1L?%+?]
M"#K@:6<8O?,B*%@W5;@/<'56B3) [4$IUE&(R1V)+676E:OKFJCPZ+_735JU
M CAP+/EGD*5.II4RI16:;TBCIN*S5;\@KSA\(R@M?)EE>P?_!VWW:0EOT4L]
M$1U^@;6_]@^L3_K3]H- O.,S^((;T0F[T5S]X@V\B#(M-:HS2N.!A*$?CFWX
M1@^CCU!AM/-#^R]>E&_6W_ 9^F#]+@&O-,8K\($7Y8G^;(]''A@N?AK\4<'#
M6H_9&UZ%T/P$)0(^*YYF\I9RF1*,Q0=30=2+/ZS1D^<*%# +A"TZ&!%5N<M+
MI(\/>L\%V1!34"7[12!?T:Z- />M=QWDZ[0Z&^-MO<>,5HY4V PC;:UX+9R]
M0/HK\4380&V$NH ]\Z?]V@_OU$CC6F5G<"O6#C!55D[XN$9)9%)DHLI+)H6H
M? +,-% XC,0*RH)$AH^FW72FU\JCGQ8$.?UC49IH_<UW6Y]C8L#ME7KQG\\V
MS,,"GG8Y:.[JCO/.C4_[1:M[V\PJ; WE3J&JE4+: "RX&\> ,3!$3?=C: KK
MYRXB9C-V[[P-I4\[FZ,6;K#(&<PH@ D<O6//9R&Z ]*[D[1HMJ*=[Q_"^Z>@
MA'V3JH>&\/S\NTN?$PI\OE.%3S_^[M.0@R@V#KSIG($W&DK"U@(#"(>X)@%0
MA)%%5JW6J=CN\XNFR/@%;Q"GY^M5UFG16 D8><+9 L1#M(TFS86-Y(R*346>
M[>HZE,I0+-3_TLTQ'4@N4>)3URIZFAMN?EI RK+^#N]YG_/?8/Y>JV!:1Z3C
M8 "TY8\!G1+"P6:'+[QM_QVGUQ"R-#2R9W.<PK%*Q7B]CV<J]#UI5/+>?&Z3
M)'LYR)]+E^RR);/<=D"PUZ3.SD$20$X7K-JM8[HH1H_RJR+,W?8U?"!GJC$8
MSA$>"8TJWVLA4U-!+1VQ%9_/H.[RTPK^>R+.Q'4S5EUC2RTKEBXLW1-Z$BQJ
M%%\PTKC#:L: [MA0OBB@?^;U;9,N[HI,' %XRH0'HA8QXLR@95X(=%^@<F8+
M6@4GS$JBV$G1S)D2N,>VEZ[9H2UV3K W3Y]@;_HG6'W^Q*2)&N8G9[7R9OYA
M=^=2<Y)DEG$63PW8]WH<ZXZG4A-GA23VIJC8BJ=-^S;\3%*Y.<:3G/=41RV.
MSF\)^X?W/[W_P!9I0\,=$_:'Y/W[]_!_->$]779W=0,Y01C,H'Z*![\<UCIK
M OP$G-&/-1J'7)%#?B$WX)D90C4(3$6\)P/0COP]!?&3K@2<#DI[-_84OBBG
M]!$PE<^!$[X[^&HNCL>J/&#;TQM*8BA*-SWMN>E.)@<$\88UNE4'"*;2*ECZ
MQL)PQ\ORD+1Y>A\DL<.PANNI2MC^;:7@5-.05_D3"H5SACEAM5+N9 "5?2PF
M-W@5&$O;=/]]7730Y65F W@4,J L9 77T@(7 HR&P"'AB [#]#I 0@>I>\7'
M/:Z$$41T$A'*,9X3_KKDW;*!_OZFOB]:V+;GORW)3E_>IN>SII$1T-6BS6"6
M'2_*23\:+7U-OG$;P SRA4:>1D*NQC=LF%[F^62 ]'=X+-TT(2]L\G1D=/*6
M!JD8;V";1M5-"93]^GGZ>L6J1\9ZWK8 E1 >A]&W5.!+.TBKU0ZCY[[UVY:Z
MQ&XQ1":D:$78@4$[&PT+8Q8#(P;&VHNTR$_J1BRP,*'JKBXAA"%^,%QT$Z9O
M(Z$X8\O0!%[F,+L:7TN63>S\IBQNXX5K WNF3_3VW4(J[@#8L<E^2ZNECNHH
M(*!(D;7@$<6@GAA,O^^?+]2,1K$@Y+#"-\7-$G#^R_L/_P7C?T:A$Y/RF:V
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
MKAS^0&XAZ4WA*NX[?K%B)A_W@#+/APVTT Y:"'I*&0MK#'U67 ?DX\6/DOT
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
M"N7$\NI_#U$Z4/GR63V__O.(P)!4+S(FE$(QTR2>,/ON2W.-@Y=JC8.5+&O
MDI_A]5 Q(S^0+;<SRO,W<P)PPG[M%;0M,JM)\=F%DRZH9LCV_N*/7\\6WW[\
M]O6?8ANP*L>J*,.1C_IL4?-?Y2-?*$-G;O]Q$Z!=-\Z(F@?5TP=937'G],L'
ME#013?6F'YS)0!X\->8FMWL-SELI8*W.X/CZ)CBR6-AMS7O6E14.67P5RHN"
MTY;85YS\6=E1?,7^O3B?1OL<GMG'U(G3]NR>YPKX$7(<M&3SF'@JO]L+-,LS
MX=I=1./S)<*^^MW1PA>5[HL<G81Y4Y\V3BC:W$4LNI=XW&F^6G/Q]0X$+'"&
MFN_L%\N=G1<73_=*2E0B$G"!D>)VSWDYJX6B_'.>-#K5/^<'W?R4HA)R&66"
M=@F7*2Y<@1/@,O4N*=<HP0)=*ZF\*'ZBQ--+^MKLBWPTP%/"N-33TE)7F-$\
M-!A#"^!H M"AXYXY=4-4Y9B+F7A_N #-*0C&]\$Q#WSFI@R6K7<Z2HG:-+D9
M_1D(CGCLJM-"P\#(;@H!\*\SU?'LZ032@-BN6H5*/C7+=NY=*,)DK"P^+0ZP
M!7=RRZ^S;,NQBQY,(Y-&P^TIR$)KP548CW+&787Q<$S&\TLJV^T"=ALY 3@3
MKH/H_2H0 "G]4CQ5TMQ1 <07DOJ$Z9QC,%DI>:'R6@Z&"J/P"ROMH:1U4FUR
M+3,/ITCR9,N\385WJE5[!' *8 4*_ ^#G_XPD/S*&5E 1Q>@V(L8]+2X AT=
MJB-;"/"5,V,*U1G'W1\WM@R%1,5N:P_"71J1K!)<*JI1EN2XL-QX!&D('YDD
M,X]+P8G#*"NS G_7#QE34*W$7Q)&]TC8"<J<E -ZKHZ)D^KQ9YF;T2M(/I#4
MC]F=!8'T/6/*"F(+H#9EC-4P?)0?B;,Q4\_4Z)O3H,G3X/Q,E=$P'$>5$WI6
MMOA-Q1 $>.*QRS'V^DR5N+ESH@M)]3BY*B6(S\Y:HSDN,=GCA-6-V=:2FY"7
M!J@8WB2D?^]:= W6TJ1MY 4?+<1=\_%JK*)Y&8+IRM_AE+^Z4-E7QK=J:A(M
MEJ''(L-8:%?BL[_J]P+7)E/ XY/GM"D?F@H!WA )&7K?HY#L><6 ZRSTAH'@
M-I;67- O+K;PR<66?7.QAH^.^UH<F7=YW0.K2VU-5?J7[%,+_JT%^]@TU=='
MYKV&ID4J.8Q;72V*,4NB78J5"#K)H39308+I-3,5P.%.5<44NE:,H$7AD#Z(
MBJ(VT()_-K^M9$R+:B9=EPS#CZ-/Y#S"J:59-_*_* GR_YL($:' NLZ1OCG0
M][<?*3-_Z76*V6#$@?R7'_\R6?3^*'Q6(@Z;F!WW<-9;T82-[>C,:,.R$]0X
MJ9B?.-DCXJBJ)!GF2-K81U:*!F6M=G1.NOJ@&._J/:3K?^/O>MC2<AH3V9QD
M2JLL3-T'XR2GE1?@G@H59! NRB:+N5AI#S\['?KN\?*L1J"P8!/^',PXMUJT
MW8G0%I3  U&EIU2=YY8^WF]2LNT='*S@*Y0",43UG6K1G?^!#R_8EZ?"G1A+
M$O*A<;H2, %M8!$#7)H/9)?QNN7+UY@07MN":L0DWCEQNK]SMGU=( 6Q!5";
MS.ALR0=5 /M[IF3)C[#YJR7"EE'[IT/[')?UDLG6RO]$^Q=<N?022>Y)+*W8
MODMY%ZB(@Y_EJ_5"?A)L)MQ>LF!?998^\=TYCK*Q1%$]S$]0!-K3'),<)@M^
M!^60F^&.)3>!JYM\S*<H?FT4K#3S%HD%[E2)!8871UX28O 7QTY];&7RL:4+
M!#U>UML],/,/3?C +-=.>R >V>X$O"U=Q;WTRUK]N(+ZF=CPDVF<8[!9PF%&
MP"LXV*Y8T;=K/R"Q*,MZ*-P4I[1@I!:2UH3P,5Q-I7^X8(C'%P!X+/&.'TA"
M'/HT&B+M@G_GC/V9?VI1^A8#.V5?.W+FR][@G4\/8%9Y.!;TV#O!(V\DB'9C
MHN(SG;  D&5..JJ/T4W"L+7I-<?^ZAG22/M[D12D6NX.9'09K\H7U=^.E^_
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
M36Z2![KVHI#>SGM*)O&'T%_XN)C!7XZ,8\3"V$HV?SXZ>'>KXV.GHASAP@?
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
M*5E=-=H7BKTEBCG1A)K21\<U7+):#'S=1'6E,;N=\"I,P9*9O02^>QU$3LU
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
M2\<L+(G";M %Z:DS.13BT(21)#*.1  3M8P^J79#P5Z+RBF7),?=7*TAJ0U
MF,*$A0.&5,OA1U<G=;PK<12B&M)]>1."3A'%6O/&*!]"(<(B;O#:_R"Y-@SG
MH-ZN:6R.@AVZOEU"/ 9C)!1@*GD6?\1]9BP,( CH@;=\<_P YHR>  #V7&C.
MAHW3GS *$6G6,N \^9[8V<SRPDW.RN*]X2AGUKB^PRC.__"Z>"+N)HR"Z-4W
M)W35VZ"8346@,@##DIAI;HV"&58<-W-3ELPL_+V/)$T#XL$K-LI2".'YIK<=
MMNJ*@LU2X*-MNK0-<;"@Q*A>1ME+2I6'I<OLEHKUWP8GTH7 [)!S%S N$N_
M,GWG;&L6"E,;%'-%+RE^^+*8BGLG7L4,AH(#!<B(:_VEUZ8G"B;9N+8L6Z2.
M%V+;8ZTZHF#1$ UDV63V'O-?O!K%X9$J5'3,)-@7"K8:<L#/=#Y?='D2NLF
M0:I41X S6[NWA_\$BK7PW8E_(RD<D85V:?;.FENC8$:)B@*S=)N@E(8N*-A2
M0))U61]4_PTR3V XT?]YAJ3H \B@8+\P,\GG\+6Y*/'Y_KOS]RB^")RD+3#U
MH511"*<KQCH DRM JBR%+R]8R9XF_C\RT@+F?9(/HQ!QV>TGO6&71L.&J34*
M9E3T*GW\3?$[B@$7AB)Y:(&[SHS59VN/@B&CY=2 -6!KCX(A"4=Q+_*HQ>NK
M!-.L-86UZHB"17;P"[W>O/3JK>;7C 4\123";B',A-_RPCE50%C4--[V75',
M4<EP<T'?DZ]Z ZRNW?SS= <E0E(GH-KGHP2P,E@0S4U1S .#I$RX2[1JD#&<
M;\;V*!CJ6KCDUA::>#"Q^9>H$H]\2=:^ZYLJ7IH:HIC-OO$='&*!AW80%^I9
M1/!72O+84I1#IS.<TC,F\=W1\,L.'@R*J6@#4;-,KPFX?P(PKV7@[2PUUFZQ
M_F3GWVP*PA2\J^2S2KO?+&V11*!?$%#%@YO0(Q__24JF)6,C%$N4)5Y4K0'F
M2"A+<Q3LP!L"7 IF';;< L6@'_SDMX2%V;KT'41'Q6(@;(#_M@XH6!H/ 4@Y
M^BN!AGF%4ODNSIP 7OKZ"%E, YS_-%:,A6K<,UUC10D92W*\V9HV/'44Z[ON
M@-5C$36;&0^CA$,(O Y:NZI$QL8H6*'*40R>OTO"_WT3LFV=NP7K%H1N/>??
MX66SK8*Z3&_SB!]J(@I$HWZU[8IB+CL$6<G#G,?F"0Q-0)V%=%L#\LF Y.=?
M%=>.RQS==7U)\S.*V2U'6K1"/VGH@H*M_& 4GB69^UY#GTS*[[PR5F4>N%!X
MYK6'UGA?0R%,346R=I[26O/Y=Z@$O>/+5D#?A:S"1Q4*TE@?Y  :*.:Q'H2I
M]>C56B$Q"CPY'S+BG=<PJQ>\:&R,8AX*+ 896^&'&5TU0LFAM]\Y64=Q88^B
MB^R#+J,HIN>K$^^9?1?*/\.[)PH"%B-4ST&=X'-(Q"GR&B @(Z%G#QP["</O
M%_&X!DVSL1L2]FH:L52&1>*<S;;1OC<*9B7"6!VF1>\+,C>?_ZIA#Y=+/R:L
M:-DJ7JWI641BDU76WAS%[#SZKR$[4.FSA8$/W(0 X9?',CH?$D/HAFHZ3A*%
M5//9W].3!YXWM];Z@L.01B$FL;&X769+U3ZJ# @44P9[J(T%:.B#@K%:&0OZ
M!_EW(GNS K$K)ZU;+8(QOH-"@'W]=T7F=&'PL9JV1_T@"I'J "OMD9SV'O/?
M&]<!^7CQHV0/F6J&RT+39OZ!JP!"FD=3\2.*A2,]5R;0#_5W% ,N(A65VCM^
M\IL9"M#<?O;$)E%/^"<2O<;.;D,O_J!N-+,V1#$G9D,V D,UVV_Q_F_/C^H
MB[]%(<$;5G4 ICBONV9ZK56:H1A^^1IY  ?E:OV<<%>^UN5OZS#_&2Y-U%<?
M?BKK9<"?V9O*=!DU]T%B0GH@KS[H+F$*)[O><E1N@V*12=V7XUGR]VU#I;E*
MT]G/^ZL/XC*CJ7C6UI>2N16*.5 Q(LWA,/56\V]I6RS 59+Z6QBQM@#5 =WG
M9_<Y#'CEW@LGCO?K*(;G#(?2,IQ?C3V0+$ (3:(/8.%BJ$?-ZA=D4Z_Y9TS:
M*+VZC;+I5CVD/XK9?,QV.^[C<P( B+@.HG<EPMOZIF_7%<.\>G2)&9,D[[13
MV=0%Q>Q5=Y4YPE/?$@43.0"!FH=DA, T-4;!2N[+>7#>Z=U$CVXGZ. !,O9"
MP=QXL95WD2CY5O>D3OYQ%*(V@#4^D)V3QKXH(""@&^6.-KM<N]%!(0"1Y6#
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
M0M#?X/]P?[PY 8>GHP\Q'PJOP ^\N(WR%TI+>J_R1\REGU 5T E^BJ-L1WN
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
M<=6,_].Z-KK20,'X?2Q>]$H0 G?LZ)T(IM9HF5EFZ2:*P3[3EJ&B!PJF9(X
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
M81OLMR]1H!E:^?>)!B6>6ONOWUZ>0 '3C*O69.*A77VX+!W%L.:TS28^9"0
MD@3(8.5\XOU%Y)EWB;W7I P\.1\R3X(_$!K.'U/[20>]]+P8;(K\7_2I0+X:
M!ZQK.\=@+^@?5_%3]!XV#55I.<= V7I<Q<S5%+KF16QH/L>0[Z,D=8+_]G?6
M7:=M/)56"M^/B6,88.GG227XN"%! 'XS)S3?F:5&TPYOZP2!]"&8QU=J->D
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
M#E.?SF -A42XH!0R_S)V7_!A1<8WU&=UXYCSESAYRZ"4C*9^'Q^*O"L4<B>
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
M-7/>KLI(Y%]@%_H1H!/W12,]WO*Y-9Q.M"*W#F%RK@1:WL&NX&\\"DI2#NJ
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
ME-'G4> -JTU?C+<BTPF,ZZGLG*Z&_]W*"EJCOW.UR8PLZ)I.88-#U,;?)M9
MR_8S96GM_7=!*PZP*Q0TDZ6#\AIJ1<0;MZ&#\T'6"M FLWE0'I.-!I:EOG<?
MK8V&8A;EE20?FAZ!+:A5\+@K6$&,?!>LH$N$"U$>?550?3D<OF/9)-?KH^E5
MP,1X)H</CQ5T.4(E83H4&5TF9K9W1:IODX-X*.^\>'XRO=#3M/<[MXN;T85[
M9KGKJ<\S4\!K#Q73W1ZGJ)AD&K9$JB7[A3A81\!*-+]/49_*&E2G21<X0W$K
M1>F>6M27G<O=W,=E^952!UM@*J9SDBK,(<NNCJV_T>+'A8<Q/KB?,:571!WK
MS7T<A.]A4'@12@SY#"J/U6P7'EZ36RA<YO@\0$-&4!:U\IH667Z7I%<@!ILP
M7V]N]X<H.0* #R/B[J9L0;>0EO/C=;(_)#$\VM1X<7Q;95._]@YACFITA80(
M/TI#Y7&\K;2/K$AK:A<K4K&(W &-EG5!K!DE6IK>1SFIM.Z;GB+$COM^4)]#
M"3.KV\T&U7Q[!S>E\:'U"ZOZ!^<@ZC,05)+HP+S84,I W:\C+\OXLN?)_IPR
M #\E2? ]C"(J2[]HI&RR;25B%?P.;WG$1RB\AM)!LT50R8[:12=&HV?:I,\
MJDK)N_?/) H0@F^T@&Y\4[42/D$!P;?3+2F2R^VD;"EG7I%!=>@1?&]5CDV3
M&/[1KWQS*7LD-H8Z51&.#862H+(7T=5#7%-U>A7^)>CJR$@7R>ZGVY*8V7S9
M_=0I.B""PVT_@1A.*EK%P2K8AW&(U$(D$J-$[''&,$N(C:%>I&Z+J7R)LB_:
M:R69S)>^:_P.0*K(P0.D">3, /7\$.H1E<9Q=?SL_9ZDS#T1&$''99ZG^.CM
MZ4Q#=!2%7'&_3^*7//&_T>UGO7;*IMRXR+XFM8#>'!60?4J37F8T[FZ2Y?MS
M'"J4P\BR/:Z9<A;5,C-".1[LJW(=)0\J:;@T\ZTWZR)'$F96,MI_AML=O_52
M;%C)6W,5)AL(.WH S/<M!DO>)48/'<_"(T"EG+QL5_]"*@XK-,0TJ8.I!Z37
M1OGI:)L?2VMQX]R7W6=9 8)UBOZ+S&R/!9KQ>O.R\^#OU:\"MLT!@\O./)E$
MD#KV+RM*1LR+)LJWAZ.:%A99>+@;:/GYV. OR*[Q4X;:)%&R#0D"/[&9;.;:
M)^3?DO0;U#'J-[B6[HYEM2+]9?.C- ?9,8;</DNB(@^IJ2')C74Z LC(OXW#
M/Z @&D#(X(WKG431AJUW767@;\6^4W&._SA(^9KD37U$US2DFRCT7]B[2FFM
MT[:2^ [KZ8QK",D;< O5GQA 1AA\K@S8)R9T?(@H-S]7OXFXEPR:?NWH?31>
M-\'7="+6P6NZU)W7^0ZDKSLO;M[^9N!,[#DH?R9E/)!J10M/:7*'' Q;?H:U
M W?]>I\"\!+&/FC=_^AM?^7GA2>PWR._H^YUI*9%L@7I&63ENUJI'I/>1P1'
M44XAK5VX3K+\M$=!Y?-77D^>W_PL8#3E&DWY\EN$VYI[Z?T( IX5<PPP3U71
M^L$ JWS0>RC?A+:+;\,^'D%>/:,^D"V+_/VG%U9>P,&#L(+H>+[P6N2>G8NN
MKS=/D 5^A!G:D_OX/0G]GJ0_U5>FQ^'LT([L5W K6M.[2N*"=Z7L<:9?RP6[
M>O+"X*8,@'XJ*TASKH0URO3KR!"$-^"0P#."[J/;S$^3YN6><Q7T,71B(1!6
M'P5*((OVOY**_&MK$,,B.W"PZ3>PP[8O+/C51G#N(L= RK>20U-N*0N0R1<I
M>TL'#JH3&(,5*:P:/.&'5+ZI(HFF+=S<?J#*]\B&68JC2#.#4W\!Z3N\#U^2
MB$0W@X;2B5H(,M\J3=%;7VG$O=ZA/]['JSWBX<0H]&:?CV(F+OE?UR.4<FB@
M&SF)@IDI+T<$I[6#2]E!7T:CV,! #15KXX4+S)H"H7>0OB5Z8<03WM6&2OPD
M&TUJ:@L,: /#B3IX@MG:Y$0XHJ8GZ>6)E&/D8* &I%E!;%,'KK4WX#+&RY+;
M@1TMU@:)'I9EX9EFE $A!E49?7R9X5G-]2DL"%MR*/4OGJ(-K9U>&(=$<74T
M*FQLE.DLC3NPJJ-,L4.7K* Y[ERQ P.DK "1&4E%R:DE42 T_: SHKTT*+&B
M'V6*1YAU:%4T<LL*4,?8B9FT;$5U GZ;9S^6S@J 1$TO[ "^*6#34.T0UV^Q
M0856$)D,/L:PI9I>:F&HB71X-*B%B#(.,"OTU(KJ%3+.LI"P:$6]!8G7,"9V
MV/1*"^)'N1^\; 69R3B\LU=#T Y%&<^50V+/;067<99[<>Y6X"3C*',8M*>H
M%:$=EA*$Z^'9"J9 V A]&9L6P1*TI$C9Y,<"TVN5\![H 4DOIH!N"0R1)5"3
MLV]8@9B, ROX+#]%D9LE'N+)$ZC,5TU(+[091YZ6F\4*R&2<>9I+80WB+^Z
M#TFE,P5ZVI&@^*GE2^AC!7ACP[ (;ILU=K\:C=T@"7N*Q$Q6H#V1(TAKQYIW
M:+,=:E2*E!SYL-PFT()-SOA(]98P3"(:FZ.KP=CL5VQ1H(4S>S4P2GU/U-!0
M*>$MC"]G6 .HV:\Z$A@ ,0=9@Z![RSD_,3#RH#602;5=FGF*25G7&@BEFH(6
M#.%DR=\:H,W6V<?"S)%;K@%2JDJY1"ES<$Z[QA'2I@ A(009V?0:_,SV"I=P
MZ7#EZ6O0=!H-C21Y\@,V2)KM)#GALP0VZ6"#JE3-9L$2TI3Y"QNLG0YT$?PV
M(.EA@Z7U7D2SIU!LD)_6]>-_?NP!#Y?_K=4 ^WL-3&\74G"(0K@L/TD//T#]
M\,<F;>V/N?>1Q,G^6,WC)LS\*$&AZFWMDL11;T#NA:?2 CEZD?N_?[J<TI\Z
MU (^<@#OM^!/RDJ_#GS-B:IM'#R,E-RB&?!_V";O/P8@K-8*_W!>(OS+UP>P
M]:+*C(<I*(IKH5/2TUZZOPO4J5V4+X3&J@@+P7:176\ JCL7%K;Z>GF&LGH:
M^LA*"=M<3%6LKT[@XYTPV#MPT<^5;"1GX>  4S?>8F!)PSEA6E;*=O9%>8O)
M6]RZ)3L_N^HCXZJ/S$FG4]7Q6YCC$586M")O#X]8Z;)(2W[*Y18Q;<5N:$B\
M?4"Y7&\N+9D6G&W*@&.S$9[-8]J]*D[Q%F8DJ!3C:",OW^(R>/_E![/O$UU<
MIYROKH1X.[G^N4GN13T(M7J8.F596&\>0=Y]BG:/4^YQRCU.B2=WQJY-=!1U
M)22++$_V(&W7YLBP#RX\/923G^HGQ2G.T6 _HC*O8EPJ6>]>5&6$X3V),C^J
M'$SMWSJ)U83ZSQ2DIEJ!O*"7SP&U /AY?6\$9<N\ >\@2@Y0USAE4'@.M[N<
MSNM9O20? RB3=I-9G1W[*JX"M2#(49+TB#L9 KTESQN;++T_05PS900!]:$
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
M<J'161"&RXMV5V(=_[HA +C1B,Y]P$\BJ!V&Z$'G>J!MR$PHE1!HI2@8G2+
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
M9"(NF<JZ9)&K.( :!N02X3M 'R43-;N3<D@I\16=)NI\ZDL.CH@SB2%\5!+
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
M+FU@%973@']:;R[E_3+Y":ZN]K3?DI+,,P/^#]OD_<< A!5J\ ]GL.!?OCZ
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
M#Q>"R$,Z)-\0\HU@)4S4$\928:=XW-'H76P<8I=Z\A3IGDE@*8N#Q$E+QH1
MONR@Z(+\.-#6,G("XMLJS(YV,1U&@C-\:TT,KL\@ /ORQ%05+[CMY-B.FBY*
MX/V,T%63A2EY&=8Y0%3DV!9O&?AO ;&Y?4< ,7@.H;5.TZ?S'6)[94NH\F:C
M; I)#*=$G3Z^K4*;_7Z?Q&5"!FJ@9;^=\X%8>DC^,L()-?4:<4_?%)8.I?,R
M+.6"V66T>XG:1_+FW7[XN_+BC@-TG?AI6$I&JVT*J@PXY,WA[:K)>>DIHLMR
MT[GS?"#@HM-JKBX9_$F3??+"X#Z^]@YA[D74VY7>Q_F[37#T@]?O)7.%S/81
M4GTY"?:II_22/,\N89^^CST,'!TT.<]*O=5.!7[6FUNX94& ,J A8LS@T:O*
M!Y$I@+^SY%E_3H)P$PK2*[O3G.1ZC9Y>H@@$PG1[[BEYONV[^S7UX@QJ!2BE
M+1E21H])\;S/L@($=TEZ[64[-HC=YI)G5I,4_$_)WAF$2&D]R3GQ2[OP>H,
M(1^,3BO9BL&YTI@85'P=-6'D]W$.4I#ESU!J+T7WX)P\GXO!4P>8Z,YO'5OV
M5=]OK SZIS3Q 0BRNS397SP>$;"F]9B&'_#=2_+OH_'@UIGV*VZ 6.?)48 $
M+J6'LF5\\L(X>TBR#&3K^/8#Q=D58;9#$\5R0_Y^SMW<!0 P63AZ".23[/N]
M-%G.9R\OT(L[J@7*M9).!TT6T6+V2'3(4&7/3ED;9,%_2D,?WF_A=DNT2(P=
M56,XX,6.9*P;[\A'L*PQ)I7\6Q^'!R>IC*-L#0#?;?Z9OH \Y]+[J+TU)B;X
M;UE=XZ1%$S\-)BS2>/I!<+9^/"-M2GC)O?XZ+['D;2.66/?79(GM*_@&7F'Q
MMO()$;Z_.YW55G4L$2:Z*IT::+(#+6\<-"U!W9G<>U(.O_+]M"AKJW^)#^4[
M144);.Y.[*EL.YH9U%FYT'2AXA\5014<A 3NTD9$V _N[NJ>H5JSJ!2Y1GUX
M2L$^+/:DIRAF/TV65.EY$&^:JD[M(OFP])%KFP9PAX310Q->U6;XMYL-\//S
M8]X0:Q]N#.7YV2D6DDX3+6R #964A20;MRP.2R"^GQ;8GY[7.#;AW%:VZ;YZ
MW$F:!'OG9_GJLP1?!+&^LJ_HFCL_]ZT6_=]U<XI@DR]'1TW89$ONOP(QV(1^
MB.;9: !WP*NJ!XNI$+2AI%=UZ ;RM!Y ROMRO7D(O;<P:GMGX2ANT#BSK^7"
MS6S80BX'46XJ?_4^&G!#0#9O81LK9 Z_%UF5)/ U(1SX"Z0[.?(H=[>4H=5=
MD.?=H6>$P314YPSOI='Q&1RJ1[+UIG+RHNP1I8,FK/T^]E. [O1*C27HO6)]
M%3KGPDNS\A!IFV^J>O<MEZ9N%DH?O7206<K(074#HY0N)6/!.:92DC]/KYX<
M(MB3$:>47VE&4*[NDYJHSG+V,T!>_Q!]MG4*UTD3SM,V)G=2UZPWKSM EV%D
MC&B>.\/7O_TBFP31Y]9Q]P#@J [;3H_H=6K4<K?*,B%&V-2J!DP+?"^ZF)Q(
M@A2^Z[)0D=+.&TM.C*#=SI$C!\B:CA(UL+:;4J,7QFK-H7*9&"76HS$<"FOK
M^>&/P8RY_LPDK+/.RQ'QVV9'!,YN.ODQ4NR<J(\[0-D*ZAJ<2;+]9&<A4L3T
MD01US]1*8L+B)".&V\+TK;,GL#8;7-%[@!;]:P5@'%< 3]B\A5@-R?<M)RNN
MKO@PKP'1; %6H,;+LCCR%5B!EQ2.U<J<8"%H+CVS3 Z/?[.8K_;F G@7*RN(
M%6 -8UP7*4HL1(JL;9/>>J;(]JV3OLU[[&AY4J; 2'-"(A\Y7(X;"P$BGS2Z
M&;J&ZN^VGS?.%$53P*4Y90G8END9D"S$;G"QHI^-!DG4U(=)4F4%3@('D9H/
MRPJP!"4KBA'F'T;C)$)4M#Q@#JPN6!SNN35DOY@J; D)#O0B=+\:6H1NM(Q%
MK01IDXEOH%Q:9V5K$+/IV4L L6[BMP8LFPSM F -2##7(&J3,7 DHIT<=0U^
M-IEX>,W.A/QX#60VZ=^C(#LEZFN0,UM_DGI8B3D &RR=VL ,1>PE$VRPDZH_
M&(Y=DZ6PP4Z.7F$<=N3TAXW[@%,M3G:F<VK%!ARI6L2R*SES)W5LL+->J1!*
M*]F@YA2'NBE_ULH&.NMUAI-+/SL?9H.9]4H#'K/+A)L-7-9K"ES9/QNTG"[
ME,FP248;_)P^T.3\ZF0N;>!Q(C_FC9B0+[7Q490J[2];H"6D9&V0^O_LO=F2
MW#B2-OHN?3^EKM[[V)R+7-7Y_U)&GLQ4E\W<E%$D(H-=##*:2RJCG_X 7"*X
M8"4!PL&@V4RUI ! X(/#X>[P917]%9.]GI#3*O@[C%PW76V#CE8!WTUT!*&G
M5,:U"O<BVQ@W$V\#X\7+^Q/2_S88:E4"W#S!8Q,/-Q!JU0S<A+#O,--/9]Q
MM2H!I]M"1^KD!E:MRH/;%$A+O=Q$6JRO TT@-2?5<P/6ZG/$L'<P4DHWN*T*
M@Z[DTB=(5RU#4X[J$Z*K J*:_?H$W:IT2&;O;@"[^&<&+1G"&S1794,M9?@)
MN(M7/3@ISQN,M.H1@YB/__XT0 =/]+=6 ^KO]1(&4*7H$(5X37Z2'G[RD_VG
M)L'[I]S[2.)D?ZSFT4JSZ_O%OHA(E,4FWZ&4'*\4[5"<A>\("W;)'A%\;LIP
MONPAEFQ_BW(OC$Y0ASF9:'\5O^M0 ?K(41R@X'?62O?(+6U 2%&U\Z.'L5LP
MA#A]8IJG%N/F-+17DH>7\*HW;WI;>[6ASI11FM*BBAN>S![=W,YLLN)UMDA,
M$EES!W3%ZV-M*903^XB(#.)]]+.2]Q8DTQ,"^?$84R?T?1QOJX;0LM ,^3^]
M)>^? A16:\1_."\-_^77+^C-B^YB?,<<*:1&:V%M!WB8-73R1%QO\,'.\S3\
M7N0$R=?DR>,43)LZJHOWSZ]_F(N\*KJA7C.#GV'(O6/EF(%-I;<U)I).'RKK
M5^ZE.23503ZYLN25;@([@)HJY-3YX/13!3&#07(2U_A%(#E&LB&04L6'%3')
M.V*R-',1":S'TJ8D2UTQ'"W18!G22"+B2J:YBT&D+>%H2 T'[$JX%Y)U>.JQ
M5"?)^7)>6S(JW^T/47)$M9]B_A1A>?CLQO,0;Y-T7W[,1>-PX\5%]AEO<DVJ
M*;&*$^;\2YCO'N(@? ^#PHN>$BR^H3Q,R]]J/++K(TEN1IYA*$.QC61S?-FN
M180^Z?.B;I*XE(8S]BJX9F#-'[$&UO-I^N1L#3/E]9;-;&YM 4^$/29QR1DP
MP)@W!O5&<$W?PFY6+<6G@Q0'9\39=2PI%F/9$>P9ZOP="HJ(Q4'4F!'/OFS@
M0WI!R]*\!1C^VQDL1HG.>H7]7V>=5J\\Z&!BW=_G1XQR^W5_TUSDO&8B)<LG
M:BFFK3_]_N?_2Q@,%2/)3D NAA>L(&9)^B7QQ5>C3$]KR[I/4A2^Q<QM8;>S
M-F4-;&N@Q>J7![],]CV0/UAD5QK-X [K$6$5=G/UUK\#1@RPOC"*142.9L%H
M#&3R/68DO0Y:/YO\H"6NDNFU21LK9C5ELUB;?/_U.93I!CB;YCZPCFO4;"_B
M64*DX7:2(@B5R8N ;(0*VC&+&U#M%HT[0\TCF%)4K<N HL\#!Q@M&@:SMLQ6
M>(E0:;T(F!64W3:CHRB3%^*48T(GY5$E3^.[" HU9RZ];*<5OG+;/NQL.?("
M@>(HTFS,&'S5!'R#H*@%\LH1]H"+\.PQRRIG-0$L>K]6-R(;]-M3L.;S(%HL
MHB)1XB)*?=N F"J$++YFN"NWVY>!F^(,*3TLN2D^H])K\\E+\V,KH]UR7!69
M"^1[(@F[ 7 _8LWQ^MCY1<K#2&4LBT^BU$D.= RYO?QB/^? US NF4J3)&SS
M(\;,81<>SOG1KX^/"3[%6"U*(OSIMZH)8Z7CQP.QIP+GG$%#>ZZ;:1C[X<&+
M2O3X[IJTIB#09A]SKG>!] "KK^$%^QI.O^:*[UD8A%YZ?/&BIOHH+WL&L[V]
M)9PG\NCM\1];!X;+ZB0ZSDHJIVN$.FM:"\V>="\'Y)/,50^QSW9)'3:Z$(\X
MP>Z]$CE]LSUK/8Q#3V]G=ZI$72LO%G+'8/)Z33@N5V-&L'..&#O0_=T:W[HN
M,BP:9]F5_^\BS$*!OR&K-:CIDS^FB!\A).YG4=Y,MGAFI3Y^CQ!K*P;--+/A
MFU?D[^(D2MY"E+$9,:V9->A>O0^4/7E'HKF>\GU3T:.U=,./=!XDJSC>&J4P
M8*#8;P7#]BAK!:([ RH96B[D35W.$M/&<X*QX^(PY3CZ4DT/%P>0G/&B^P(S
MA'?1L*V^N4,H5M]<*=M*YQJ4L&(LU1&*8_PX^7Q2;!.70413WJ$NTW53:(UI
M6)*R'63QL%%-)PU<@R.Z5'XD::%ILV\):\C2T1JCK PM+HOV:)330=A&H(L
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
MNK?HD"(_K'3@.&CK(XRI\WK88^%IXB,4-+75&EMW5>F2SK0Y/=:4@UHVHKX
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
MG\A0?WJNTV\Z=Q0Y78=.SKH.&B0IMR"AL;T-BHP%V!%(>.X_FC%93,()^0>
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
M*+>,E\QL2D:P@6IR$N5J,@*& Q8"B8Q/1J !J,(92RAE!$"'9':)3%1&O&H
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
M%-XD19RGQZ\=$:\?2$UMNUH&VV76<HP0WM__05[*Q9+6TG(X=UE6D3OI83M
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
ML!'DH KJVFT\1M"#*IZ;],LV B14\5VCK[818RM4D7ZT0[<1E*!*\R;<Q8T
M"%7@-^IQ;@1)T!K 1%]U(X!!U04FN[\;00NJ6J#%J=X(8DM0'>8Q^_S!35T!
MF WH#U!U!DW^_D8P6X)Z, P,,.(TX*9&0 \E6$*VWI=BO_?2XV9;F@O)R2$7
M6I@$^)?O_\)0O"9W']X^C,M%7Q];1B#B-%;?AX1-%?F.H%'6XIB2Q5=G#/]I
MXH,]9T?R4_I 2$=PFA8M#["XO=XE9&G>FC[^VWGJ^"^_EM1!N,AGE+REWF$7
M^EY$23C);SOOE*MPF_8DJ-DH^6VU9LLL1?+T6,VZ_LMYTO4__/KMI3?#U@_6
MZ!938,5%*)M.;V-_JM3M9K5:\[4ZD*_USDLC?!WE>//^!WGIUXZLT(\ I+:U
M-G4L9L3U5!@3;K>PP'9>[AAL!_]@#;4O^"J1VVY:2^<B.Y4$'L;K9U^L@!S?
MQ _EDA(\" J"ZQXT FRM1TJ((<MO"PZ@U\K=;:ZDT:;UP?T.><W""#YIQ6"M
M'0Y\J>+X$89DVK%6T"4<QQ>N?)]UI"5'HP&5^3>1P""O52\O$]SND('0<]2I
MLBWD"#F]^\^X[Y=@@NW9X;??XA3_RUL<_J=\_ZE=$VU;55]"/*,M/G%QWCQ2
M,2;Z@%?D97@/OD?'IR3+B$^#R/ZJ:W1KJN>T!?!LNCI&M@8+8Z:,I;):K]8V
M!ZQM+**,_113)6%S61$1)X R;5*1DNPQ%2LG/#W)POI5384R5 >'!LXMHLW_
MB5QJ4Z%1&UIS7C[&G*H/ET5P6].+R/_V%C=V%&=M>)JOU[;(I.5J<ERE- @O
M\XJ##)FT<*Y1KEE-4L[KJ?,?(V7Q ;)*#!)A11G$T50R!O$=+?$X9KQXR1/_
MMUT2X2W+[OY=$'X7!&$UX8=XFZ3[VJ'<0 WWX;<?$Y*%LC&GL.P+BITUB\&B
M#S-+NLMUG-5!ZC7,([39/L1!^!X&A1?]$N8[3,J5,^0N/+PF'#5US C:=1*,
MY@]\WA#=-8#1R)K*^$^4$6;,=4OJMK%G_*+&8U[]\-+@-?5B?X<V,>+Z8ZB,
M8&V93Y$7/WI[Q-V27B,3'&53WA)7<8"%(Y*"]QV1C[*)6MS)&J35#N,/<!P%
MNVV@$7F:$BFB=)F_/I[;/'E'\F_EW,\+B ,I&C+R*>O'AK/%G2;6)ZIPOG_%
M@I>'I6:+3HZE>$#H)(DQ%7#G3F]K;>IX(GN2?Q9S)^[E,&PWJ^3S3$X==8+]
M7V>=UE<L\.^+/7-BW=_MT>?^$"5'A%J7$-\1E]E^_DUGA"R<?[.&*HG:?8BS
M/"T(ZQ<R+69SS>()%M*>$JR5_R]*$_+_=6SL31*_H[0,;G]!,59ZB3:3W1;H
M]0?^]5C]]RY\V^5L(4;7T/;DA\9[I<>%,\Z]R.]C6S7A3+S=PO8TY34H^[?Y
M=9&%,<JR*Q]O>&5S*_^8(OX!%_?3?-*OWO%' O0E\ME'=M &"+ODT"VEH5TK
M"^,*HK>#(,F5>DGVD&7%V>3(EN<ZK4&=.C:-L%IK/F&/27S*H<,^8Y16T#3D
MEA'G]4<RT0QT'F%>8=O[X O;G=]U2U6E%/R:/!6IO_-(9B"^WB3927<M1B^-
MDZ*;K(C\VX -B%K/NK&GP[/9;D.?81KF-+1VV)ZQX)*&?HZ"<D^_Q6&>/;]\
MXQXO?A_-]- BN)*_/^$ODV1,Y1FGD02_@_;7@'<,!@JJ8Y+Q7@1H#2UJ$0T\
MP6V18LFU>F&L[M&6SIQA>DW],&->PB,&TKP%/6HD%DN4EL^(L8_.!,K>&K4!
M[)D5T\1'*"C+11+ R>PVVQ:ULRR-PGX&)([:^G*+-0<?]Q-9;>3[V3TQS^A0
MWX,4:N>=$'Y'8**6DE1E>?+?.<\;]>O&=^KK1JVQ/Q.;3I-\;5BPW>RW@.W[
M<#F#AZ&:F6^*/,L]K#7&;X^%NB ^X3ON05;9W,[6@*Q,D?6Z\^)ZD8])+1N8
M@5+Y^YJO@S.];[:U6-"DA+I/TBT*\X(NR,EUM$L0I7#)V[&J@7M4VY/:LH>X
M]N)+<N*FA04FK''Y))T@=_FF/^TLL)]QP_RTM%\0N1I0</6.==@W5/YXZ^7H
MW@M3DQBKSL*]N[Y>Z#]+!M<L]+2@GW5?]Z+/N0>@\/JX>GM+T1LFD^[1K"#0
MC>_$V;C'+H0+MLQ(M,]O@5O4Y0;E-69O/[B3L>_>@=)W+##1EW\25,N59N7<
M^Y4['I/\?U#^?'*B%[F':/_>\B"L+[$DK?^)M&-=G#-/0K=;[,1K_RI6UK8:
MU8;J<&MQ.A#>@&^\0XA)HYK1,\HP32%" O<%T?P:6Z;X=5AR'"BFQ:>4I*79
MUYF0,>U7I5>9LJID;R!>$_>>CYI:LA*^$ZWF[DD&W3-U]>Z%$8FXP:17"CZZ
M[W[1Y]P#L&T]K6X KL:FZQ,.:FD?A_!4V >O0;O>U1_?N0P)X^+_3H&9DC%X
MH&/0^5GC1D;FM4)7!X%QCJ+!=?SLI,10"5AS' QZ5$OW?/ CRD #()4EEAIF
M)D$0$X.[W >.%KO5QLW1%==NWAJ6?'(9A[UT,9O@QI&UUT_Q/G1TZ8S@KB;=
M:"_ RM%%FN5P0_+@Q'N!1E"86WX0$=;028>$0*]13"6BN+*3V* MT@LT8%)W
MI%1@5^>(T%FM^TA0XL+:Z^Z)Y8ZLER<KJ"QX,9*"=(S:B5D,@\5 0R!%Z^R0
MLC8%L/FINP@(X]2:BU'9, $9$V'&1/6,3VQ"<2 OHJ#^YBB#G3"<$#0B4FQ#
M$&K81D&"SSJ:3E*'U9(6'NDH'!K-EJT 2T?!$"GEW4!,1Q<YEU(N&SX*&49#
M%R]'BH&,AI%[5QB_ZVA2W8GW#"\^V%%$YK8&"J*4(:-H6.#O/4E!1L(<SQ'$
MB+N>:WJ.VYT1R X9.L,G2V"/A8R,4:UZ3.H $V#]:6$G4#&/ 61(#<K:K><S
MR @8/8$2F2!,8//GA1TXN3P5D)$T? -VGJ4@XV#^OA,D_C !SE_<()*NGQ-D
M(,Q2"2.3B@E _NH&93#?*"!C8IY(]&>L,8'GWYS!4V\:&Q-8_GW16*KGMS%B
M& ?](JV2",<(.J#?#6@9=8R@ -J2.6_*'B/XNF&_FCMSCQ&HG3!4F,O:8P13
M-]116XE\C$#NL&YG)7F/D4UP1W>RD)['".).:%<&<_(8 =4)-6ON+#U&' +@
MZUI6,_D8P=P)#6Y$\AXC8+FAZ,FF_3$"D1.Z&CMUD!%,W%&JC&0C,H*I.TJ5
MM@1%1G!T1U/2D[](#L3__M3#$$_OM];/E%\[$*./',7!.4UD!\,?/W[\E*)#
M%&)<_"0]_.0G^T]-UL!/N?>1Q,G^^*F$]0S0$,#R7P:HX"7C/Z);E..#^#O0
M62.OHO+C^$^;;5_B)+)H-B"*,6DA%;YB+T&7OT-!03S!]2RI\WC:3]9EY%M:
MH,N0_]-;\OXI0&&%&O[#&2S\EU^_H#<OJCSB*37P:"UFFAC-2[\UJ\[/P!+F
ML>@$6%V6!\PL]^CD/ONEIDI.*41>#VC+X-9/Y?>QF%,UR['<YT6(7@:+W<YF
M73J$198=5L1OT3N*DD/IBEW=F:+J=,*>]@XVBO!P;Y]1C%(OPE.\"O98-L$:
MCD>B@^I9\G=);0SG$C4:EDPZXJJ9VQQR>+G0YVL628=L E5*@ P=/S*?(_0T
MJW4G2X5,HK<9CN>,/I7SIF^0$)':0 A$$=!XB"E)2M#J6ID'X@SD6&LX+%>*
M_"!#:8*:I"1-1^-J1X.B**<NR%AWE^7A'N/4]\:XRK)B7SW\63;9C396BZQT
M&@8&8)@;'SLF9XR;.KY[Q05.WC"M,T X (E5?47I7GL5/?$']8*8I7D+0/RW
M,WB,/$+U2ON_SCJM7F+AP<2ZO\^/&,7@U_UM-44[:XJ6N!1XA_B?"4F<$^'E
M/>.KMB94W;>2^@3F/;[=%&3#X]OY?='[7ZW4XO[7$U@&R,]A]MM]BH@;-TI1
MEL]\Q'B?7S# \]$P[_/+ +@YI;<DUQI6^<@*Y^0.G>\Z^X"B3T^DOYE,5K0<
MMUL:PM>@EN8HX LJL'(!Y4%&F+LUF6S65T7GK?<&>>I,.JRC&["<?-EV^<\,
M.>IF?#=R]S@VZIBC:3H=V@"NN<'1'(VNPV^2^B&E@;0//]U4L:#W\)=BO_?2
MXV9;%_?U<[Q2+&^N;^#K&[BC;^ 3DO]<!4%8'>3SF<FNOA._&#_735)2WW3/
MG6"8?*_G:O.,R,V __TFB<M%%EY$+%A_T.UG,&$FSE(P>[%-XK R ]MS$D7;
M)"4=#9'UB(DL'72[2(^&E\0-_U<C6I2XG7-P3.%[]'Q4#&X[RR>70(#]3("F
M2:[WO25 2'C2_5S,L?VQ)8#79($UC5O]G=7)S!4GLPD27'V/$=U"4H+3[K,Z
M829P3S53C9/)7ZA%M-$X@R50=_<RG8&(^Q^$2ZM*A&+H^NE]Q%F*JU)BDB1X
MC0-)0OY)75$V1:$:)PB7HD6\;Y#IVP8#5IL$7+ %RQ03'$-W-,1IQL_'WA:,
M*!Q(QTY](&?I[EP9(JLVNTZ39O3,&YW3<K?"%MSN0LK6EN:@8]FO+P%>HU:7
MX7><A8QQK]HEU(F36MIFS&5,E/[\&B*RAHCHQ5?%W4!GQ9U1C_(7ODGC7]0-
MU3+DWU".[M:<3\J&]F6.&FPNG!O^Y6'HF?92P99ZO7:PJ.H:KK:&J\D*U6!/
MY>SRW:B'\@O?I)GD.YUO[8[NF%49S] #O:-;X8R0)WTD+W4C9A< ^YX6EQH#
M:^N.U^F\<>%[!^3J5W3T<'337+7P3' -<72G8 L' H9[J9BKRP$C_'4N-=T"
MJ*> B3Y#E[J'5*8TSZ5TJ9#/KIM(^'!=:LX,4"Q,VM]FW:V93@[%E\P$]C.4
M.5[629GJL+9NXDP'2-Z9;?G9@YXP3G&^0WGH8RUM326TIA(:/?ZL-1M>PYS,
M^0$?U_<P*+SHES#?/:.HDB%WX>$UN6/'6X\907-.CD=2=Q[Y!2GB1:T\P6IE
MC1*KK<8?X-2/[K:!Z^[,).7S N+@*?+B1V^/N(6FC7Q*,ZUAA<K'7\4B1WW*
MLY?B^[_PU?>:G-4P&OG)=;2VS:?BC&<3&+=>,[O]FIO"5FX*53[/J&5%;S?K
M5$^,>K/=8H$^9=838C1<8Q?6V(4.OA/DG)/!E"9F@(9#JFHS5131\]#+$P!
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
MWS,&0=+LT\$*UG4$'1ZIF(/'#2+2E0=JAFSH,S-2?NATAXNP8WP=P8'+3#4
MX<99D$CDPXV![J;Q&40<.[IT^R5%UAIO:UX[V[>!3*!R^_PS& 5H),2D(T@<
M=*(<Z;!IQ_$8K6^V7SA!8[ F2M6<*)6AFT*&0*=<) A_=QR&):77GA$VU6N%
M%Z'M.!02-XI,_#_DY+FNII[6M7X=[%0URX+C>,@R"(D,#HXCH84_M+)$0$XQ
M;991T&V]D/'0>%!$23D<AV'<*>GE_H"<<UR[5L(R\D(&0>-YX.4/<1P"V;-
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
MDFR7WR_X/0450LX8!!Z33CR[>>"OO62[B +^!R\1_@ZGGE<'3\O^<:(G8]-
M_R#T;9L*^\3(+>> N-&>%N!2]YY2M+1U%%3-#B]\G[< [-DB[L"9$[$4MC9Y
MNP82#Z6K-^Z)Q2#^TP._,Y4"+7/ZW?-TBD?B%*RMTZ4]? YNI!V#>6+%[3HQ
MW#F>:I0B/Y$P6,</7LI[]![J7KW=#?V"']8Q\N,ZWNUHWD.>R](X2D%R@O+0
ME"=N@:[9Z^5>:-?1FU#5RCD'![?:)%>:[-DUJ/2BY3Y*O>B-6TO%:)+>?OIA
M%L"V?HWCX(/R!#QW8&Y0KA[P1H=DW@_8S1VV%ZANPF?/=.-((E =@- H4$NE
M_9GX!(PR(%<XHET6^R-^0,=(4]DH)R'6[&_IIP4B?J616+-2&WB7\H0&E0]+
M(6 =P(6-*.J)&P?@LA8W95&-M?<)Y"_J6>JYLP/ VQWBNA &CUW=1]?>GJ:\
M6F?%M%V"V<BO[T&MB-*8'9JV^1_Q V;M0F(9"326NEN@Z@^MPL"1G%8'H+8\
MK79M)LN^FRXAP'ATGQC9 XNZ_>1ECTC)IN6>Q3_AA]?N1#?LH,<X[2>JN .O
MC8Y1BN$JHZ*R>EV"U)J!C5 N)<S- 8S8,;=G7GXK(L&MQR+ 0=)@=KSFHT^=
M@MF&WML2[)D#M-R\)+FSIYF^@1U8>YEM5JT= -=J;VOI) 'RS\. /$_6@%0$
M=Q("VF-F^U3+<+@4!+NYLX%FZXKI0&6<A@$@\[>C^$S]$9 ,G._(*I(&Y&=7
M/GAF?J-E-'-_7)_'2S^S,6S.FB*:- 3IQVNGS%>@S);E86)RTLP!!=+[(V?[
M;&-"@!0$TZSYU )=@%^N#&AFS :&*70OA<0P:<;*-S8Q;"E(5E,Q* Q&,2$?
M.^,Y48;7%:=$-7[6H]X.*RO/=VO8[*J:/%2L5=BD4V:OQS8F)BH%\X@%9T."
M@7/-SYWL0YI2 *RGSW>>+"*7\E-EGCBCL&S&)Q5"L3%D3FZF"C6J6)EB/#8M
MRW@TS//FW)5A\4'57@U:94ZCRQP25!EAQID8M#-IT,^DHLDFS2Z'9#$]K>21
M3'!)Y3&RD>/6G+$'@SE*)X778B(24= +Q%F(@>Z<^4 9JNEAU.T4P3/U]^O<
ML,4MU,X]TUFNH=[0A-\TSQ@I#000/5TO1WU)O/LD;U#U(Y([J]VO^\I *5"Z
M=EJ-J_EU8-"<WDD/>+&(2W>NAKBW=%<[5-AS%Q/V]' ?%5?$Y33A])67H?0A
MJE<9$-(0G8M=#$K?_XFOD*'E]WC2"X;1A\$5K)@\&W!FEB8%RS@-S6Y=C-M^
M.+-1 #EPF8E[-XQE$2U@CED)NX;5*,OU3'S0#$&_%2]?;NX(-ZW"5>JE&?>D
M/0-PZ_AVLR%^6KDX8";_'9?.)?_&W&[,>)G_?6$S2F\<RF>WL;-(N]AI#79)
M(3D]LNYB!CB(V@1#82*W0:CGE*)R>FQQBN*^MF_ YL+&\73IAM'IL00_7C,2
MT#1QZ?K&Z?$"QCT(B,P7+L["<;O:>HQ<>4F['?9UG#B5*GYZW#V3O9>R2OSE
M7*MTQ+F4>7T&EAY06K31&9NM[0YBA/XW]O#=?A(_X_.:9Z_"V5^^XTR",X6'
MOTMP?_W-(X\'&)<13S8"2VK+R\AV<?3E8C50:R1Q]'"#AR<)U:V_:@Q=K-9I
MC:%2U!4TQ*FJ1T??M<Y"ZY37P_JN?'*54I#/?=1,BQ+>$9Y4F ,;AO$'KRM:
M8^YB54_KX_=,THQ%Z_B)Q>^4ET5>!/_,DCS=NL;3=[V3J^4BC"E##\J[@L,1
MTO&?#E@ &9 #_64#H!^V,FJTF#UCH_%B7!HU8M1.L-$(42Z)&A%-/]=HT!N+
MH 9VJ/-J-$(&O@@UT@Q>J]$XTJ^+&B4M[]1X#MI89>*PY,3.I'ZT<MH7(('>
MY!::#@V&-\V #XVG9QS8Z@5G@$[EHAD'FF*U&>#2.5;&P:99$35+[GM.CM)F
M<-Q GMPG,AHG0]XRPSG0>SC&G03MFJA)HN_$&+WOO:6PYQN):P#)BCN3V&&Y
M*:HCP"E>;N0WQN 1KN2B;P0.%E%<;WOR#F(?;K)60S)!U&(D["6WO]\=Z\TS
M F:KN2]14 AJ$H!,X[W^=OQ?+J4$'8,<Q:RQN3YG*NDP$.!NE0?;Z1,+JM[Y
MZ\N=[A"<*%8?FN'X5JZ%Y)99XTA(@5.-QBX'*PFX FV>;JC/:TOEA2P F*<X
MI%RU[:;D7GD)]1=1<$/###9,N*R*#4,F)7\17(L$BW?8GS?RF/&NAZW/7F9I
MDGH1S_ZN%1@9CY0N!8@3JSR3)&743XM"42X)505<*B19H\8&RXYC:1@A"=8N
MI@!3K^MPY?KU,A*'JG1L@C$M5FU<%%^1B,9,7!=W22TY@KP$PMKG3""I-=QQ
M3)R%A&1.1)?RN*?"G):%EV@MD+EY@9.7\-[.A&UBMA-=:#EO?XF.R/8^C^YR
M)+XZNLW8U7"!KY34]C"KEL &J(FWVL&J7&5B>V@BB=BWHJ99>&)H3>*L#X9A
MQNR[(1<N4VR'=.6)X9U2)/1AGG!UG)9DLU6[R&P17I/E1E*%"HE%*/FR;H6M
M7F< 14VM(@B65VWR#VOF18GG"VBB0/RK@*V2B;U>/PY8/@UXX7=9SM\5 7IM
M7N&]_4R9!Q#2R&.'>UA9%'N!F?!2>,/;?902. !2,QM&QJ4S)5^R"(:[A+-E
M&X)OC9H"[89!B:AD7$ H]<5;U828YR!U/UX.X'+#;]6+/@>$O5.?)*LX#%S:
M30U)]D&^%UR<'_:*N3@%*TGU-%L=\P('5R0B&RJ%$3'I#I(!'9RXXW$X,^N6
M<CUWL&7)M)_).XDR4F*4@<3_A:;;:Q#Q,(O!Y+R6"$]\@/\%37'O !9LV#H8
MP 36Y(UY;@ ;82SZ4'3EM / #N3L.>EKX$3+\2S9^HE8A3L$84/]*R+ ^PJ"
MCWF\)N BV-&()BE'U'M/777 OSKH&'SU:)1P0B'),@(:@#D93;:< RPW/.?1
M)<AM]MN^]NN",9[_)FS@,A4N#XMRBUA?+O:+2P5$K A&>$":5:AR\KA/DHS[
M-EJ%/_[H @\=<DJ$W\!LRPZ\=7JV;ATF];C?N$,Y8]ZZM"=PW<@30$[SLAD+
M[YW<=.C5Z#O=&V=#HY%G=)"@'C]_(E1?@50E035&SLC$Y)*]Q[DZPV;]8)6O
M3/GIB@FSMD3I>;\4Q[T_<KYC*C./ND>S-69FQBSQOVF8:G_TC!T)1GA/I*"-
M66E&L+4>$P6 NCESUAINNT$4A-<>-5^#4DMK70J%Y>3Y&IN9;7$I7.9Y#G1O
M.=+:EB+F7&^?.(O!9&7W,Q,,,^8UVH9JS89)CJ5.>,GV+HP_$B0)$[R+)7R2
MN-\(<%\=7A)>=[Q2]A?\<F"K8;PY=N9 ()3#S/_/>U6_>R$1G3W+O#_^ *1!
M^X?&R"?":,R;8C%^'>2&Y']6*DEY;9I?I,RS?V2H*_."FJ.7T5'?57W!#4WV
M<>*%7UF<[<5-CL3/+6X2-*M!N;-?"C+-S0PCF9;WO=;QP@=T,:+JFNU4G%N!
MDSN0;)%OC9.[F#V3?0::*-"P2.VJ>W:ZCPP#'Y,(RZJGYRHE^Y>]4^&MV9G:
M$))T!Z]',A\6^X0$PN]9WT0772\/5;-[+PQ!.5B\>S3DK2+A4*Z\D$@8D[OH
MLE0I;LB>$;\HNQ?)FRJY$'K$>A:E5.L.7B=6!%;Q)OWPF#2>[YJLLQ7\#7[4
MN!7A6FS_."[3-Y"K6DZ,[&BV<RE>CY;72#?#';Q.S&M*[Q/)VW6+C<F?!&YE
M2DS&?H29L13@);>?A/DTD>/",52,I1!8!TY,>G@*>:&&*.#'=-^Z2_^GRZ>/
M BG/1/2Y6\=K[Y-'?K9QR/D1UXRE-50O 45CZ:;;)U#61L@U7 PDE[Z7^R*P
M8*G.&(Z$ TV3ICD1P!V:\D5$#G0&SY_=I8P1XK:!)8$9G5O&79*Q/#+GSOO]
M-V<1.HP3 W&9D**CNW]S]T1:$IY]AOU?+AX79259T[5#%QJ,'8>),LCMPQ+R
M9/)F"[$+(X>\$D8)?)Y:5)05D+4&NS#H&]E\'1],4:N/5^@C])T'!J2]P'XS
M^"AC<ZV B,/VWFA$B.@1#4KV6;"*113DI9K;1N"7R[5_!.,HT1-4Z&G7ZWSF
MH"\WL*! C+2;UX7A14TY@D#JV1U*N7SM2\UD07]M<U@'VN:> !<L(T&C+'H=
M$KIX%4QR6$R%LR\^&J]@(%Q7$_?=4BFIH+SW.!P1_2LBM@M\O^IB<2-JEJAE
M]Y;5>3]BYHXA\V:;2C< P8=AXT@:G[<=1Y(M,!N0 W)OI3#:S\>VCQJ_J=T^
MRA:8?1]U^<+:#=1,/.E]F5Y";^LK+2;,A_)I,D?ENS+)VK.A1ILE*@58-V/V
M0R7)1[1CAM5X%$3:2R<TDEYWQFQ@6"0$2H$QS\-#7-H$-#MZTRV!@@05*65&
M0I3/P[-WFM0PNYU3+S [D,-3O;0@#UYN=@1H$KGL-K<W;W:0I/E86F!D,^:K
M*S"$\+"2E74VE$EOMUH%!?NW2G$R"@.;5;Z74$!90F&JPS,VC4EWE$:N^;W^
MR)1VHR'A2&$[ZF?-7D]#DC4D!40]?NI&./)DGK[K13YPSOI;%CDX4MQ:344$
M6"N9QA*BYAQ$H-BEPUC":+78Q,=E< I+_R -70+1]LES4BRW2SH9$7"]])*!
MS*.<APND7I:(/53=J8@ &]85VGX^)A UZ1M#3IQ\"9RUN$[?$!M/,:\ZLV.1
MIHR^9BGG'NOXR>-[54 @R_1QMI37,4"7:N<RZ@0B>JW<!F9ZS9#M8P&Z+A%(
M-QT'@+C3F2Q(2<%?3?.P,]4[C[*?O3 C#R ?X-_"XU-Q6NX2]:)#(DGI 9;Z
MX+%?B:"Y.JK<3O! P6#S%J>P*:JO%-%RD9;4A3&/#W+7<,,%7G?[UJSYE0%!
MOT0@=4.^ />J.%&2[63(4B<BW"8IW?&@3T6+)V7<JNZZT\'<:JT[P;)GA%1*
MML.@DBTQ=8[0(%J2I P-F8^=@XLH8D)%\+OEEQ;M2W(_" H^K(]"2+_[2X^-
M"$G4''W[622,ME-*75*"QR)DQ'S.9-)#J;8D/&!+ F! (G+;ND#S'6V-^0TS
M^3XWG>M*1P/+K<T99]3CQBI8J%AB8@9O?\K[S-UZK@N;8SZOQ^Z=\0TNH$EZ
M/H_%C&Q1EY2!2H59;L <S9WK9;X?=H6 >_'>(JX_W@>@$=,-]:K\J!(&WE[I
M@X:\]T=CJV!,MB-!H[N1@>?;O$KZBD)W;^CMCBL=4R,]CQ&3])>8_0KL]]K;
MT]0+*W9<X*_*V'>J:Z^K-)N[_?.1=6C;J2K"CJ*^3^<.U,AT%-<M,B]R O1U
M-@;>>OZ^%]9[8:Z+^J_?<7\BW'>BO1V:=Z!,X+FTE$F1;E7 QH&2@HX2??<^
MA3@$ZZT7E1\FJ]'W?0_^IX>>OWY'SRGX0YF<N/8^Q>B:/SM5,M%1[G#=2WQ2
MUI#Z;H>>Y@!(MT!5NLJ)VI$N[H(BW_&ZRXI<J%5Y0?@':=#; A>J9+JX!0U)
MW,1_3QJ[4(/347$L3446&OOX4I^SA:>F1+@Y;C7)VUQ#GW4D9DHLVKYTZGMX
M T(G_3CX@-F7003*T,;I24'UZHM K(K*3ONNBT#=@#C$>8E4^RT7@?JA-7?.
M\^Z+0*TBJG!RM,K?.['0/6,DH"^SS_?RBR!$"T__&226Z1OF*P&BQ\+1'WB&
M$Z3SE9_V^&C>?!%GQ\(/?BZ51/,-B$G3SHM]6B*U^@;$.#3YH,\I(7MO=P]O
M3=_Q+*AK? !B[)G<OF<3++*W7X1PT7EU3RY5-"_'GKXO3E-]_;JN[;W<R$\<
M/$*5RO^-EQ<F"NY05F:\J6]E-L,*MG,? ?'K#Q*^DX<X2K=.9=V? S__(!Y;
M?\0N7>4[&UJ 5Q*7<MW/A9B[.&,NY:6?#2_TG;B4(WX.O"PV*6$]Y Q,XCZ/
M3C,4'1VMQ'HZ>@#[,O,H@'O+H4= )12/@KM<Q0UP<V%W/,!B'2= SL78T1"+
M9=P 6+#@XP'FRZ 'N"-XCH*ZO99C=J$"/%26H*$<9U/QL,Q$=<"\.QYH6?HA
M1LUJ6+55=+55!SF>+2=A T;ITK2?YS1?Y,734+'$ZJO,_" ?Y0[CDX(F7.<_
M>TPX;C7PH61P/8AZBD;Y',FYUWRK9.#$X1G=+O?#*9K1V#E.(Z&ZF_FQ\K<D
MR "J3?<)*BYT1R-X^ W4WAX$BGQ_S0Q1[-$E1B4!N<J+[N;+5#SL'HAH8T";
M.RB8E  6OI_M,M&SK]W'U:%:/D-IPA:1F,6;'1%TY(AA$D9@"@8U%)Q\VISU
MR*TILE^2W#QU\@XX9O[8UP(L9F&D*"7'&TICJH4<5H&:<!1W"^YB5I6S_NWH
M11)$N)RV<&K<.)BR<!:4N):N< ZDN):J<!:<.):F<&J<.)2B\%M1Q*TDXF 5
MRF)11Y"A3U 8MY9+H&N2%<:NYA#XFL2%D8NY!+PZG#]R,4> MTEH.&9%[)8D
MK[P?AS3@)O"5%WJ13U9;0HJH7=.?7G4N1F4R5M4*%$I+]?S9^W@ (!GUPD2T
MAGLF"6'OQ"DCT!I:7G:$MV*.?9(HP'7 P+,&EY_09)O7VE& B[)'C S GC.Q
M,63^#]4<(_WGJR?.#Y3NM.BATLR<'RS=J="#I9GIMD!K%UU)RJHKK<(LJ.2;
MKDI,)U6JBI46<U:P8=070 *!;H! !;>[(V[)O($8Z$Q;>Y]NR;SCP+V/X QP
MFG?)93D29-FH<3[)\_#E 6!V^++-S(GCB38\I!]/M)@U-_H+AJ##<SYD[@]M
M'&7=Q];#YDN"LZ5C/=DZJ4XHJHPATR$47ZDPJY3CG4LU,T'2A_V;%P47 :%B
M;QL9#S=DSXA/Q1O@[R$1'QZU,B',G8-<R"X;3@97&0UYN@X78?>[/8O?B;BV
MU#X!3JB3@T\ 3P3>QJ$&;B=TRJ%P/WC^ED:$'=0<SX%0]W"X[S(6T90W+HV"
M._K)_];9;@>BV</!+BHR\YRHZWBWSU+"5O$F_? 8:4/O0&NT$="#6I.RS.<+
M"__5&^QZ9]L=Z$TV''#EC';!^X&MP<YE&)AE?<](T$S!!X@N5=@P:;Y;2D)C
ME'ZR>#3;ATVGZDF!FVSY&<NM:94\*=3Z.?->E5,H;7+25$^8#0B=!B8%0C-A
MOO0#M3HE3RY0CI\-!+-J)(7$.&T^@'3:CAP6S0Q\8E-7UM$PR6W_6YV?TB^Z
MB\H%U_\\36#C=K</XP,AST1(5]DD=QQ4@R O!M\#@>R(<,/W&K%=&,1E*=IG
M\DZBC'3!=<#X' 1N'@%0SQAG>IY-G]8#VE>0%>-G \&"LTA!,<^;>U=D+$.W
M*Y+QLX&@X@'2[U<,GCGX-_!H&"9A5TH:Q)/_]8ILXM;/J)2/_+N^@>YZ![^#
M1I72* ,;MJC] 1I6[_MO/U/F 3.FD<<.][!RPDL2P4QX*;SA[3X"[9[(R^B,
M>-T-_"5)J>^28H,?JW?P3_HF+02!1ZJ> 8V]+,?3O=$E--:';BHT52NZA(;J
ME$R%A7)!AZ18(7A+W:)P$Z0'W!(-OJM(B;LB$=E0*=\L0%/.<$W@:($NDO#B
M=\HS[H 0RQTU@8]8-"@!EI[4_NCYO(X&RI,['O63)L_R'$ JK>\=/-TE;MCP
M.79[T"58/8R]#U4D@/7&.9?4)^G>U.CSIH55428.;>+:Z$W]V0NS_%/#,/YH
M70AP(6&OQTP4&RVXD&[P'?T$=:;HCNL@ NQI7(XJ=[SF*KYD0>QU#5.8<>TQ
M=@"-_,-C@9,(,-&\GD0TE<&Z_W8IG?,(ZH"_E+\5*@F/3L.?7I&E4F@HR6KK
M,7+E)7GXNAS0*I/L$*8&L<[VL!ORFG+%B+>!=2GW]0@BJ6Z^N@CO$5NM[5 N
MS0!V062.8!'7\&^:MH0'O_(,'[!U*0]Z I( Z^>=,&[5+05PRRC_)>62XS%.
MB5.IT9,*CG:.\$5 WR6$KD8ENCNXE!(^.1O G1.NLQ 5D>/64#P?KDO'4PS&
M\/'J5O.&P1@^7NTLL-L&R<S9P=*)/@4\TBD3NUJMO11]-ZOMU-E1;V61VU&6
M9@4,8(ZUN <PB"'K8D#)A-:V'8E,\:H3'7*=/:T^WYI9>#:X82G;;5,]X2S(
M-EFTMN@WK(-G0TS&J_5ATJUREJVSL3QMM\]B+51;*+<TQS+"WMV.B3=-825J
M-T<^!]4F2*V_8\Z/2U'O9^+'D0_'1[Q\N;DC8/5ZX2KUTBPOX)B2=7R[V1 _
MI>_U3/X[JDCX@.2@&H@6\(H5%FD7)RTDN!1#/QY'199;FPPH4 =/7Z$ J4.A
MM^.QP2F"W^#\!KPJ;!PJER)'QV.A8H+2DBEH(P?' _X8<[[,KXN"=E&L8A%.
M=""@<#QNGLG>2UDE57*V<>NQB-^B=\F9/@ 5<BG98: !I8M=*\;ZY\LX+$5K
M.>N3<OM)_(QCJWE0*J3\Y2(H0^#$ABQD",K3SF&%E*<FTJ!(/>]0SU]_6XCB
MCL%EQ+TDMY_^U@/TU"K'96A@UJB0)FQ\N0S%RQH)I60IB.%;JU#?CY?!62WT
MKY)5^*W\O\L2KPKPK\7&WT>#LF$="&D?*7*?29JQ:!U7V?J+X)]9DHJ*/S4>
M!D:WD>+!0"'"+U;]%+V)JWPU#@:J&M]OP0SY_&E<+'J@)WD'-E29/2U#D&)<
M#1OX:M?*$+"5JV #M^E#&0)@8QXVD(9Z1X: /7!M;*@Q.$>&8$*_U'PE9P:Z
M0J0@#UQDXL#7\:Z,?F#LZ#4GAO%$KHD^X*=YT0S8D/D?QH$K66D&>$Q9*H/7
MF $&J0]@'"BRI;!)C[Z]/U1C:,W&!MX@>WX(Y$,6/H\LT=OHUN)#NPRV[548
MXT,V4KZ$==)%\93_YQ74Q?SG?_\#?/O?O/V>1IN8_U3\$$5Q*E80O_&?2"C*
M)O\+#8I=D2N>"\8XN?&A5X=ZR)-WX#\M>*)(66V%UYP5FR4 6P.9YME+R<\D
M2?.Z+" -??CK.N8_+;,T2;V(%Z3^13@N8,P[2,8W\A7>F=X 5[OS*.-D#4<D
M\G:PQ\@_,B?$(&6_YW]+_K8G3'P.W]HU_/*[?TFRUR2E8+G#.[^R.-O__7><
M-.G?"L^1^#M,HW&P%HO1B+\?A%I$0Z K[H\"$& E#Q9BGI_^_7<;+TR*LS[Q
MUA:X6;R],?(&H-Y'H*2# N,+>!?%%QR].;:OR=&;XRCA0]Z.0&R0L4+!56-6
M_%N#V#N/']WTL/BD28F%]F\C/CE(_Q90> ]G@?<G_'BN[ZQ .V<BY_ G$@+)
M/W@I__=!7%%YB1C)2V)_]6A4PC=X6A,%NS@B:5&&[-0'HIC[FA=>_OOO?.%A
MT&%D'4>'__P)U+\'LGOE*8PYQ+V?N\<\B'< Z<RTV.Q7L-SP7;I/DHR#GCLF
M<EA,HR;>+!O Y+L5D%?]9H&=]0"?%X;47\6A^*2DO6^Z$2BWT$:UURM;.>#'
MKR,19#ZO['0.2M ),GBKSZ@0%VL0*XGG2_;=- KEWHNC6*DGC7QO$(9QKKVL
M2)J&/(.V9L2V,] <:S,3'E36*\?$H"EH4&'D< JOT?(UI&_B;[?PJ3M>Z*M$
MQ) 9[HCETHT!RGGS:"] 6\Q;O[2/O_5PE'P 5.<=C_C$_J]<,I,G1GWR5-@1
M]3YK!V$U0ZJ&%W<T@A=] PD5B!N" 1S-ZI?N!<$U?]V:?*978.'_6C'Y:1;K
MHBHM'\TMZD;Y6G+4C)KJ#EL$\!B_?Q.0_,_[2'O=K8&58=/08,1"9N;JV7(#
MO(\F?.N7T2-)!8-X)ON, 4<4EYP*>6D['*D:^ )GG'V P4E8F_5+'J!D\@8F
MU>A.U[37:DH>-]L=B7^5)30B20)R[I5&!??RX[>(>Q7N Y[LL:%> V+0=O/2
MSXU;E/ ,-.-@W;G%GN/PE&_ @F<C)UVPE"2'Z(K&B=R"U@Q >:[&7\TM3:JQ
M\['LN?ELU0';&JX2?ODS-(+02-!MB=[80A!T8<:=^-=YWP/8-0'A@03E_=\<
M \>LX X-2+C?(H YE&>+7GO)%@SIAN?D*HXR'>>TF(N&ANS-S6#]$?\W8?$R
M(H\ L3CH<DM3-Q(EGQR;(F+O7I3-1D,#1CY2]*<":?\SR+T=*=-"\C3>' OZ
M,=-KSE-8X* :PF^LV_:X(_3U@U 2] /,I/N8D15]VWEM>.3/4(+1=ND6/<:
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
MG( 1QH (P \F:D.$B95P?GC@J0Q/)V2/CI^X9G-H?PQ(4,D '7'%=32#0 ;
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
M6;O "F!<4:?&9!B3D]-Z"@C=\/D-'" .!7H(ZROD!?)GXSPI%;PUH4\2#!?
MR*_4GMUG1X;-0:=PGH]8MV<D(9'<L&D/DS*: E*%5W_&H-P"/8ER1Y0WM3#I
MULP5C'!#]ERH5(,VM6?7SH68(VV#"W0,ZBA'(XX!"AAH8*1AK^P9^2Y'!DC7
MKP<]U^A64DD&^F#NA\>XP08%SL<C[NKT(E<(F0'L]!JP(L=G+UIIO>%>,T1#
M! Z-U>Y0_URG,*X:($YU?+5>.Y-;A-S\U<OARY<O_[.IFC6N8Z<.!EIZ7KZF
M6W< UVE6O,*($&CBINN*UE=&WK:]._MR^-57?_GV\-O#K[X^?/[-RV__4B_=
MICC_ ]J!#8M&R00[_.*%ETW!SO)+#I\_;P^['9[T*[I,BWE6%4"IT=0F,1ES
M\.6@$5AC*PCN!O^#WR*6*5F.1L/%BI 1)'"W@HBGAJLUQ?&GZ$CQ)(>2NI;7
M/>D]/=([ KW$L36,+YL/)JK0WX\Q9O*^DS]_9*8Z&;]&SM<33T\\CGA23$:
MM;#O*04ZFMIYS:!(1BY5=@/_9IW#QQ0HQEM'A$!52"I#7JW<!;)M"NI(22I3
M;");4/3!*34CDQJ8#"H\."9\2G3:8(F-! 4,-E.\6,_1(QQ..%")FS3]Q%3C
M=T&@#_YA9Q2/'W=X3YV6^S&I59A+$ND\!QW)%M<#"8&Z 488JUQ]DP(UC4)^
MZ,TM<QOA5^Q4]*3@U&@7)L04F8FEN-7Z- *7.U,E,:BCH]^0X$0MY5%<)I@;
M'?4YD,UP>J8C76:HCJ*(?+83=$*VIN1\B1('30S-G1(8<''M%(8@@!M2<+<*
M.Z"M(S>YN(-7CVNH?DX3T+YI"#KO#Z),+"R%JLE^)$L2M%?.V8'UKO-V\FG7
M069ZJJD&P].AI;I^9KMJC#ZF<.(G,I7/'H)[,U2_4-Y;G?C'=N(&9_W?=Y5P
MOE 2&.W6!(1@KC&?Q,+=FX!4H[RM%#T9F*H7BVI'EJQ+&FQG/]8L#B:;U)$C
M-MC%TW&;>:]'656&@PT53Y',Z?7S=,$PG\!9^TJ,:<\/5B')'N;C)T1^F*X\
MRG9"9SL%$UT.&!9R4]?(XR1;F///9EFZWO)O"PK'1)\V_7:D%HF5&B;Y!*D]
M3OR3$EB[9S8E]JY)OV:GEEUS@<*;LCHDI0B3:MM*1;Z'JU.G\@YW)U;XX,CR
M#PJK#6Y^)X^._+W?WO&@H#1DDJOK-%M0F#XGNOM$=CT "C9,V%EA*6<"QDX-
MIES?F &]L;XL^,Y 4G..?<-36C/)WK_9^PFN[FPE#L1/P%8/.>A1O,)TLPAL
MQFS. @#SQZL<K+'"M'Y1<^AR.2<-(N#@7M(XG0"U %L4E5%[9/QIU$"=')<1
M81DWF)*+9EML1NQ&P(F"+:O3$OYE)&WE@"1'[&?I_2 @_^T-W:1@-ON<X(1*
M4-?7/%FX93=8N(&3-C"3; 8W&<VU&YU(;GJV\'X7$5!KLGM"48;:%\P3RRZJ
MU&)6O3A=J&2 _SW@-/T,W2QTQ4FQY 0=.4F81=56T[I>> >/<Y^*TJ>B//F%
M]:DHGRD5I=<ZGI[6\8.F$*@8_6S5C3E0< =-I ^2]I3D*.E[#J9[UT1,B3VB
M;EU;5.-6W$V@%)IY4-!:3#'60'86A24H$ %FVH"&P]0=IE,LI:J=$&,59U1>
MFZD9,G(IIS22+;3@<LFU7M*>B'LB]L!G[$Q#XOA#SE/X3Y8:=IX2*99(R0UG
MV4;#CLH/T%@#;9QNDQ^RSG#T1AV6Q&,QQVV&S,*Y0] EH1>:\1IN6]^>)/KG
MZ*:(Q)&+#I4T]-R6=CZ'B?H<_S[[H;]0[0M5%7_P0E&@E^D_C/%*WH0K;ADX
M,4)T'B5&8W&.KLIIEL/<*8T8)I1*$5<[LS0HQ*H*A%VH 4Y:A424/,%U1'TR
M!$?8QH.F5[\NQ%ID^34>5BL!@;VD>$8^.?AN=*'3,*:02& JKH,+>*SL%PM)
MB*HO_<'NF>%D., <!0E[#%1180)LF#&(22]KQ\.$6S/)2M!*..4"II$6.N(:
M..<?PZ2*Z/?*%E(;%V3I(-/6B=D?;"PDI(B@\QX7M&>K("VWX)K4&=/A;G(*
M<7%K#O%#CW%\(KSWC4F;<A-5SOL((7!,K;L.D,_>:<-]4* 7GR<9$1YC-I!K
MV>91-4-8"%3)G.<[I#G*#22AB^19HKD$["=+;MH 7%X0IF:!X&.QU1P:&.79
MM<D/8@-\*L>/=++$],6 BXUT>LWIU/XCLM R^@RVOJQP,H0$YG\!"]63UE,!
MIA2%$C#U&G^"N#<.7X$S" B.P<3B@P<!X&HD)#-W0 O"^V8^P!$4N#L6??BB
M"/#NB(\^5 _<?ES.8=D%CS94OWIS5%*W,'V,WN>0(2@*@$EA5FIA.D>BFFM7
M1ATBP@S4.5"C>KL6&.:!:Q;W'&2^,(*0A+FHS"./*5%2JY.JI(#.%6;9XK$<
M"Q1=9+89A3XB/X6)N:3=%TZ'N"T.B^461<"G<I &VE&G7Y,8)V[446A*&ZXK
M[Q98P0-;YLRW6+:N=%L7^:WSB8R,=N5RE0(8L@9&#9V(Q[%B*+J/>0MFOJ(N
M!H.C?I9H.^M*(7W::LE%!:KVX?/1UP<O7$#QLE;X0F0 _/KPVY=?-:$DPE_4
M9?DB18",4(T!8RH!??D&RV.*TKT& \64W2/)XP+5=^!5ZWSU?E)^<8YNNX\C
MA3";-RM,KP?U>M OQ+?$)L=D3= !##N</]ZM0(A@)+)GVE)IXXJ5Q"X#(<S>
M0=P3XAT(,? :45%&[4IN4Q<#ABD0^V66+[$N"/5T4MV=NY62<@3OM*;$0EP,
M/D=G91+M5Z'#MF"WLH9?ZA'BZK%:2\EQ[9'0]URE-F+W1GLTT*Q!?0URA.#%
M=FZY8!OQ?]Q](GS8 !#8EDM$9^PO4G^1;K](;:HC'QZHP6R[^1I@5_Q+M<!D
M0-H1XB>IO8H+>:8<(D&W)"J74R'W00B!J",&9VH9UJ+UA$H-RA>U07T1/7E_
MG0'7IW'U:5S]POHTKB^'*/0T;.+W->BY.L^*\N#4H\A05=(&W!HN5VU6@6W$
MLA'_7_A CV7SF;%LCAO;S6D((&^S*@=N(7!.*:'ONWVV*):K%)0^<0%S%L5'
MM;B@=?)8G2Z.U4.-\#P\P&254!3:-HOST'\&%JEW\KU)='2-YNDY5VO75>5T
MLK@I,W+,EZ8!L[21#F-$L\3\^R?N++MJHV3'IHAR.W(>6<\1*-"';1N(^JGJ
MLB ZQ/]^:AG14%T8!SXCJ3PPBPI>3.*)7;I!$+F&0?-);9X825T=U*07X#M,
MX3@+%'_D=];.CM2)!($&\&.8$UZ=B9[(+9!+4<>OZQR\ (8=KQ?Y8%&!-KBR
MB)':)8;B>\)(<I[+P3,+)N;Z!?C.>J)WH4XQRKXH=?95[5^NJOT8R)7-0"1-
M2N-QM4L<+NFL+7SB=>V_HIA9@]562'BQ&514(&/0U"?Q$YM2B_KAO?KA)27G
MCNXZ#^2-9I*%:;XA@R5U"\-+>*(+]J[B'YI>X4=[A>5CE-Q[ Z=:AS0.U7FB
MT\Z>&LA=3EW!^QOA>O3KEKQE@&231Y9U(Q^1Q=BR>C^7>?[#F#ENQ<RZR)53
MO["S";#P8NJZFNAZJ? ^X.%8T#8Q+I<'@]UY%6S<S)BR$.<!(88P_K.+UIP>
MUX(Z7/I>'2)I[T@=J#'HOS,!8F98B.V6&E:P525U-$)5HJI;0X *$6?8[<7X
M+)>U4FV=4SU4$TVPX50QY]ONN$S5]7 *V/I#D&6$QN"7.7?$P%@@SK>]D2Z$
M?OB-&ZT1^1+03Z!$)->!A\?VN]:)0#U'TX$WL_/-@?;0[.OB4!K8,5O?HR_<
M[J$79EL79B=#]0.H2+;.CO[)ZX;O_#4ZJZ^1CWB>,+M[XG+-[5:X1</PCXY8
M7K#9CF75<>0Q9MM%DL/CPQ\C(W$,@2$9CXWT>6FF:=YDQ -J6#62!D&6$O-_
M?(2P67)G[37[(K:]V;?-)\"RQ#A[XG3_,D-$MIG]P&D1C5@E?@\'>VU*;B_4
MA323PLC \MBG401=]QIC%6P42%EX^%6 !7:GS>3YH 4>W:7Z>:C>@/U0(RM0
M@H% *S3F@>7H(Q,X"'[A!.22'0@E"3(K_3<X_C1F\*^5U2QH-6AJ&>#Q\0HE
M#3PI-8$;**S$:HY3H%;&%C-J9+S]9$*C"F%Z#'N7ZK78<MDG._2A,5#G?S.1
M;SHYK@B3T;OY@-$DI*L- A!)]^6DLK$6B$C6B0K6A6S:IS'T).9!2:,2_;".
M;!#4$&R!R@2XR1YC?P;<GFQ+;QC:E'A:43:\V_@9PC46(A'JMJDMV2HY!F5?
M>=E39,WT?)_5W 1]D]8I#EU-E@:>XZ'?H8HM]R+.W;^EL4042.DVSDT=@,C1
MXTZ6KGN\?CE](&9BC]K2A_O[<'\?[N]16WIA^>6$I< #4,)HAGW[8E#3\@G!
MN0>5IQ@G,)3LEH%ACE_^EEF8K."\%U(LQD:W*&MA+PT-9D;9H[STE%<'[&H-
M"Y1]3*[@JC[G-$.%:K7M9T]!/06U3$^B%9#]\"DPKP3XS\37KTXPLR5%DO(%
MI"[%BWP>,_T;,BYL#9O-V4ZPTKJU .6ZD:TE-; ]!?84&/C78@G9,O^J,*^&
MVTP0T"G+19.@,MK334\WO@2Y,#I'A ]NYCQG.@H9D2)S!AA;5DVF/?'TQ..)
M!W_A"";151I->_C$GCZ"Y(%0F\G-1.<NOPI)!GV;KE-#C5E$VE!,_\6!<BIF
MRKSOGK)'JQSKF03X"+5S!("+71!)8MK5" N?R/OJ!G+*_$2S:K7FUS(I*K22
M6>WW9-V3=4W64:+S.A1$Z1,*YF5[OT)/)X%.[LM YH3S;P@EC3E.'%L!$^J1
MAWO:V>B3H@HCD\:,I=;324\GG2'FV(QUE91%4 F^$F&.<H-17@(+D5@TM?TP
MKK>)*$A4]FT$(M0GU27V]\K&V+@54]F!$E.BQAX=MZ?(L*FC3J_S:EY&TF^&
M,1#ZAKOM,KX Y(I*05RZ/US:F>6:A0;.E2^SP*H)+#:E))'8YWQ@#A-5FX[M
M!_CX]PK-F9)S3=$K76""K]*SK(+5CLD9R+F:(> 0=03RT&=42P%'MU3%#)--
M&V.ZO!3$H1@9_"Z1KY)ED(@[9H#OA2394E$KU8O.LAN.L+CF>7=-JGWH">7W
M#"+8F86_38S G]8D83M"]M4WK:1VI&G,=1X90TA#A:$R=2Y.T>C33JF(^IK3
ME96^T3;1+BE:<M:#UHY#=975""GK9M.<BL.R38%I%87.*:EY3O%E3&/'XF[T
MJ\OU<'55)D /:F(B^9+P49[I&'/?W:1K8&6N2D^DY[:6'*PZ!Q$N_L#EX)>Y
M'?E84 W.R=B@KGY>7+7P/1P0WL;&9A(R*ES_A<V-J^\GP3]R#=1F!DO6?&9D
MD!D?&XRD<UJ\PVFEE;F2=QWAOCWX*_KIW+W1MA2A Z1LK'!@V458RA?4DJ%.
M$RNJ">BX1IK<47Q/J/ELF757LPW4" '&'=(F/D-%7:#$S:CRE.KQN0I;D S:
M=&M21U&QJV/C]S $Q2J+G@*U<!5)#3<OD4[T^O$<J5!MA*\>HY]/)@+CBYX@
M_5]!LI3=6R UWU@%PY(GJ$5PHH1?%6=8K2G%X\(65%XEIED4GOGV\1UO@XF-
M3+#%ON4E31N'D0N^TH.B,0RC8V"A_-[AOL)RB08$Q9[T(GYW='ER]-]29K(O
MQR.LL7D@HV4CS[-Q/EPMJ,.^],%ZD72H8-ZX<GGV7S7J]7F^KD@?61LLMV]/
MNRV.\A;!5SYH+'4:M/$W0"R"2H<.\4[*P[8%A)32;)8BM\@1X<C THE1:755
MF0*(<A#"I3AB]]5%3NZ.JJ7OV=+!S>K?LW3,YB8501?44\%K?S%Q2J^E>D,$
MKMBP4*H"[UKM[A!HGRK=ITKW"ZL7UJ=*?VYDM$<H]D3_6)%1I)&L$U.^\=X?
MEE4;!=75M,I)3NV.K/G,)+!50M_2^G8&?^%TJ-YJFZN31OU]%ZK I]#C9U_&
M$]??KU9@<LRDDJX2[>/=\Y@Y9J+>GM0^W[H!AD"X.!\-0D;0FSB@W(1JN WT
MIJOCHX,Y(!0B.\=F]V26.^/^#HWFV<Q?(CY#E90Z-5E5L"<*Y[;J4>#%LL.B
MN3QN[W'+,KR!_/FY\MV)WJ8Z!D,&_X*E;T]>-#;]'LZ6K$20HFC0W!CT6%D!
M[_)EIWCZ\QS^*H-#%Q )/3-M%TN#$A@JZG OWA?(K,!9*T/6&!89>2O]#S L
MDF74S3-P6WK@0/\<.L>P+E:+@R-5+[Z"+0#1OHMR_6DPR9^RU)3H<@?52R=-
M!$:@FE1<4X*5@CU[Q%,ZREJPI?@8HO5+-4\VQF@UM@JRM_)#6RACZ8T!2VTP
MKF[J9ZS7YHW?_(RTFRDI]Q X'C^#'ZY<G-AWB!P(.]S3^VU@U8#MX\>MM;M5
M7:>&8#\7=$.B:P*5MRE-!"%!&9*W(Y:!#]!&^PV4=CD\-=J!O=%^ .P9;,9M
MDZ/>F9[W!#_&=_AV#_<]Y_ZJ;^NJ7[8O9@M!CT+5\]S.D!V )C!''_W(8GB:
MPABB+1#>G45HF*%:&9([+AD&=B:P6O>6U5H^;+<+\HTN)XW@0A@NK%CC)%,Z
MG\>K]DF@_$Q/45OKVINJA#!Z79<+6USS$0;2I"BRB)O,47 5>WW5),2?,64U
MM1E;$+R++4L7^<3$B)(!A[MX7'&G/JHP-WV3V=BAH.OY'-B@:\P,\BW/X J8
MDKI">J3PUAH:>&A'!<7RFK.?$O0HQFWI*8<<R5="9NJK7>&W70T?"P[0X3V,
M.=KN>D366?V=6F.C_30LJ*!>.QA Q$TUF):?N#:6,).@4P_+XC#@C#@\N>GF
M].&"G=0L"/DM K454V^I'THC4NCI!<_3@GT2GN NWN3'>&UO[QR<U?9#=SP8
MVV5RR@)K09+J0%UVUN4KT*4\D+: H.+ERY7LBA42:X18,71* =::=8"!3]%E
M)O;<6_C%:Y)9$K]3;V%$]=>#?TC.1]%*],#T#$K-\/-!]2_,[Y#>/ED^SXBR
M%V94P.D0VBL..*04,G^-4&-F--VHU3!^!@_@/#'7$^]$ ]%V;'*:G8 FHRB-
M.?H-+'((//*))WF<<1_?L3%)[7(FV%PV6+SP\-D%2^Z15BOUFTT1EXI$^7>-
M#J6CG/FM]1C66 ^>KJ8%=?3L=7B_!$(M@F)JS5B]]>!3[UF9&<@7Q[6$E&]P
MF=\GV0A^^X/1I$G]"&(@(:M;SRWE.14>LU*X/;4 T @WV78WF1N=5$C)[2N'
M=#[3U]A7SB&64L)4AE80[;)N7HT!72R/]Q9R!6=1V,+YE^)=Y/%/X_(<,QYV
MLMQ(@73^:XD0#O*_T,.COM=Y0LJ4I!Q%;4G22:OP^#\LJD! K,=9GBY,DNPB
M0>Q.3.?Y?<9T^OR(/C^B7UB]L#X_XF'F1^QT\/@M HEG#.H=J%P-R_[O?=QX
M=_6DJY8?1[I3_:^) [WIU+LN0[W)^7D$2UL:S31<06 Y3^VL667422-U#!J+
M(.; D2CL8J8Z&;==MV19,O1L.]"H]L#VO@;N$QN=4()GC9^LXQM;9/09['=9
M22P[^ 5[J8(&!0YW6<PL-%'1+A(<0!6!)8)86^,JC8O]09B>3A!)V((.:RW
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
M V/4W:1O[Y;TNHVK-*0Z9W<N4CHZ0U48=S2V$W3L),L#VN98F024@CQ+0=?
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
MHI#[Q+?'M@X/F[!.NY(WTL2;B?S3>T8Q;K<I,94IN8+/0%CY%KJ;#%V%$IY
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
M#\VC3F>OP#>%!>;*-@[-/PY/]JJ3R3VYU90ZWD5&[;<.?IN 8TON!"EC ![
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
M!HQU]N&.>=!5QX,V@@T)?4]XC6%CD0K-\?("TQ"VBT\K]W#9K\WN%J IGR?
M P(^Z.[=KN]=W-V[G84']N8^HIQM!#==A"CL50$X$K/^MUX5*K7FJK>>(ZI%
M;1BV)+>EL9$*G%)P37$-%[/PL5/*=4>9+FHBO6>C:*1?4$#$]Y#B*^,GS2Q&
M;)*0S_HV$-BZS_6W@U"6"H4/V,8RD;GS1EBE065D>/<H$@RL"G=IO\'.;V';
M%^@",77%@V=812Q= !UM.WILJ9-I^3:_+?8[KKQSKIQT7'EK%EEI<.P/._;Y
M(_ZZP5K7TJ94N+9?;?;2O LQ+(2/YV/H7^-HL'FH-EYR5TU4?X!,.?RAFEV7
MEUM7S7=J9;RF:HH5\VF=.]J:8=^?IKXA@ E.%04)9M *K1W#*3?97[5)+T[*
M+;DMKODX.4*YSS8&L(HXMWDDY838(JT$5KKT$()R*FS33H3=FK7D_7:YW[Y/
M@6;(U@!)MXSL^.3.^63:\<D-.]@V&Y?L"XM<[ 6ZLNL5Z#RQ1(ZE;'8,,#[;
M(X5RIS MJJII@261@Z&FIQJ=L<RD2AOT@WR)Q1IMN5:DE6G;]J0$!ON7%*A]
MN=X'6 <*@ZPR&X,"2)9S ;JGII9X] H JYHW6K&NM?S>I&[-,<$?JDO7T\&C
MRQOTA+@<O*[_7;-/:STJ*F*\\I@4!XA:N]]JO4](K2+-R_>JA*UT>SM50WOL
ME_5),LDT#W*;:6 --E@;;VB"U4\+:0RP%=O-"5A*KL;68JMT+;CI$W(EEX>+
M ?[<]:-UFL-\PF6//.&)R&M\C!@ $S>X:4$)PY8QPG:!KZ$]-ZOK9V"X8GC>
M,A3D./!4W*-'C)&&M"*!R;:!]=I7.+.8L'G6C31KZK[D$-:6RHH]JQ(>BF8J
M+IB6(LD:Q[E66=1IR3GGSBB65]BQ*N"%05= +?,[YS?]WPL@ZDB24II[C1:T
M +IX$9>QVX=1K!IJ-=YZ?YJJ+<U]MC;\H7L;/AL\*GDCA7X^ HU+S"PAB^42
M[!PU$V*^Z^%^XVCC9J&^=QR2\0'>P(:7"A#SV-E+RB;;^*P4/@88)NR(\1&@
M=$7GN;OU'5U:U]%L2(J<W=]^.DOR23I["3-\E$[0E>?.=,%TG2A?6+!07G(@
M..8/[74_YG;*O7]U^S'Q<,3N>MER99G&O;\M8IXS=KE-.T7W<9?;](!?1[9/
M(JR6X_N5[5;)B&[47EG3?EZUW[29=KVZT%<=3BOG8E5@Z'5Q?*B=T]=<JJT+
MGE:A*ERN9_7Q2FH_LYU044&=P=;CF5\.#M7+;XN$ VH]&Q8P!*<?Q=),;+S(
M&4"4]:NBQZ0!4/@+@T+ '0/4E^D]+2UX7+(M/ZWK[QB0+%?^)13TM/>[HL8.
M1*#EB(HA'?S-=W'8(_+GO$3?2$.?K=Q<3:;7*KYVH,Q;:=:.@J%HK14!8'@*
MUL<X5!3H(YQ=2U657M;F6$AF*GM7NG$UL\$:6U5;2Z5G3<O/>XH5V*NEEM..
MW&I!JQ71[A<#F;:E+D/>"TBAX%TD88N2:XP1Y"6IU)ZA8\<@I,US,G[:=D!^
MG-[N;3+@GHR?YP/F_I0VT/]1OOY;&@%D"H3VKJ3GS@9:WP8R: 3!0\^^E2E4
M.DIVQJ+GC:**=]!:MS&8>59Z[XP:I5U4Q#UVE5HG&\40*\*O&+G=X&WC[\[;
MM\+85QS*=OA^I'D1?MNU;['KZ<3G&T#HI6I11OW>#P]_<2_'JOHMS#4B6^?"
M++DNCSU*UFYA<;=-S!O%;$'%;2BVWUJ9W9\(T$.035L6XR\&C[[P&S@YV_.,
MM[VF9;\1LF%T9\Y,0=MF2:RF-T_C>%?SV-*XYS'4U?"V8)#/(5G5E<:N-M;*
M&&_HE<,/Y$ ,YFS A;8Q?C19#UCC.0<N?MGS+?.(*PB45U6]'I %JBVH@CN)
MY8H3;>\'\[CJ<6+K$)9UL/EQ]//]NMLO!X_>"= [J8%Z:TCW06%G*V%<)Y M
MY98R;+DB2]EK%HD1:5>$.!*OM]URE/GD5NDYX8FZB(U_BO;<7=*<5H1R3]9[
M?];P\$?*TGIQ>%S_\_P[?7M69=%H(9,1:M(^/3/@YI82_UH")_H"3^^6^-?1
MTW?X'B(CQ)6E)N>]<8;G&)M\:>'>=NJR[UUOIQ[H24('T@#_,B('9<+U.N.8
MB$*OS(I$/5D,-ZK<:[3<_(TJ 5N,<'K'1-2.'K_#]^($Z+B)8Z=I:F$"+/?!
MAB<J(8F( AMSAG)N/W?5(_!-D;J?OY*VNGCL]H_S:1>/O?]>$QVC_ [?=<1#
MVH+EDW4#G=Q\14K!WD;Y72F.512!V.ZTO]T2T4-X7TE3VEJZ()KBJ/\9FY"*
M#IVHR+&@E<HW*4K5*F-!)#^!>3K"VBEA/827!%15S\YKDJ&')7>O;JD'K/@4
M28\B>7SYRS&_9Y?4>Y4C_RXU6NOKT6)LDSY:7CXR_[)A2O%!+F\H2[RU69\:
MP4[+[LJN-_3M+NIF3H9<]UTUY-5VSF ?MK[! *OA">TNL87>Z ^3>:/WX%R.
MD>,T5L2)F/9KMTH]R6O[:GL-<TMW=>P"B)X2ZISH'><"<^S];N==WL[3334#
M@P?E*]VR)_G5@#URQ1>8WJ%AL;S10N)!(&53!W)5@5(&/J3'ANM+!:0"8E.7
M$1YZEY"AV-+2YN5SW2*:/'+ VAS7.;^BM57YLB+?5K3!8V7CK.Q"XT*&]>)K
M?(DQ.K_]T+EBFT:_B48#*UF]?H#>VNY:0?!&]7:5;>%K6=RKMMI3,DJ7.6Q[
M(7]P 6\NQMQP8:UNAUYEYF#)42-C9$3-0C&8K0R@.1.!K;QQ*3BIPI?2CRU/
M:R&$BO.00]_Y,*C#!@%/_3-(UZK8\5P-02V*N'(7CEE%10Q(R#V&RH"["\'M
MH$5^%X3[BLT/#P>>=9XW&L<^**3L@'7Z-KI"U^/&CL^=UEH 3=147-M6O[R>
M26QG(D$O;H!'&4QG<V7)-JNTK%%>5I6\+",%+B"CU%MF5*^VI,TFHA1GJB'$
M#!^1AHWK? [,,E_R2MUV;FZU.-L_=XK9KB00W$8D,;J8UU+=F@V([0(5@I&]
M:M$J><;(7(A;^[=N+#3MH*77D$ $,[(@"W,#9)O1"R**(@&N+M3J5U>V=W./
MO+D\J,02O88%A%H]+.ND5LG98+)20XS([VMSUFM[3\,MPD='XH1R#=02SMKW
M<R!C'1C(S98C<((E8#C>5*]#*;- Z]NI)U:5Y<%@];H*T10T6V,PC5J1VJ!5
MIB5U$UB#3NRQ-C4$ @>ASK7-!%FXESZ*4\*\0'V(Y\4SI*K;A<EJ!YC-<0=4
M(N(>&[D@@ /,W?*NXO6^A-EP\&A9;P"?%D3$_[EZN]);..0D19K_T<3>O'T/
M%\<JD3YEF7P?@+Q&N3UQX;$65B/&"7H^)U;I,4_E']PIL'4FWDQ.6]4_KNE4
ML,("CZR>'B:;9T;<]E;3WU;)TL*Q,@8U?0T\PI;Z(RRVSQ*5RUHYZH7:.F]1
M=5 O\/Q=V^5S49]MQ-0VB@+]C;G_NOK2;WF7GVT0SSQ[@AUR7O_I[,DD3^+7
M_P-02P$"% ,4    "  Y@U98V&NUW%*G  "7N@  $0              @ $
M    :6UG,S,V,3@Q.#E?,"YJ<&=02P$"% ,4    "  Y@U98C^A6H@G!! #V
MLCT $0              @ &!IP  <F=E;BTR,#(S,3(S,2YH=&U02P$"% ,4
M    "  Y@U98IZ924D.< @#FZRD $0              @ &Y: 4 <F=E;BTR
M,#(S,3(S,2YX<V102P$"% ,4    "  Y@U9865=%Z6X-  !]O@  #P
M        @ $K!0@ <F=E;BUE>#$P7S4N:'1M4$L! A0#%     @ .8-66#!P
M18[&/0  , ("  \              ( !QA(( ')G96XM97@Q.5\Q+FAT;5!+
M 0(4 Q0    ( #F#5EC27;^<R 0  'Q3   /              "  ;E0" !R
M9V5N+65X,C%?,2YH=&U02P$"% ,4    "  Y@U98+$?J2Q\$  !(%P  #P
M            @ &N50@ <F=E;BUE>#(S7S$N:'1M4$L! A0#%     @ .8-6
M6,UTX,2I!P  8"\   \              ( !^ED( ')G96XM97@S,5\Q+FAT
M;5!+ 0(4 Q0    ( #F#5EB$_S,9M0<  &8O   /              "  =!A
M" !R9V5N+65X,S%?,BYH=&U02P$"% ,4    "  Y@U98\</3:](%    .
M#P              @ &R:0@ <F=E;BUE>#,R7S$N:'1M4$L! A0#%     @
M.8-66-A[A4QI%0  9:<   \              ( !L6\( ')G96XM97@Y-U\Q
:+FAT;5!+!08     "P + *4"  !'A0@    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>123
<FILENAME>rgen-20231231_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/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:rgen="http://www.repligencorp.com/20231231"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="rgen-20231231.xsd" xlink:type="simple"/>
    <context id="C_54184f1a-1592-4665-af8d-409b694a5dec">
        <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:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_d44873d0-5bbc-4020-be55-4d5fb3f6c3b1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_d69fb9ce-46c5-482d-a1dd-f09d22665603">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_f59feb09-1594-4f9b-b24f-dce4020f6e60">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="C_24412dc4-9725-40db-a5fd-31d323a358ad">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_e22adbe5-96a3-4c4b-9e62-7ff5e4632e82">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-17</instant>
        </period>
    </context>
    <context id="C_4963f6f6-5033-4b4e-af94-a330c4799802">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_773897c3-11b6-4fb5-a648-c26fd1e1a4a5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:TrueUpCostsDecember2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_1c9ae0a3-e3e4-4470-8ffe-8b0ec9fe3b73">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_7e93c0d0-63e6-41ca-b59d-86f69eed6201">
        <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="C_ca71e7e9-5ff7-46a2-919a-adebe8640f89">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_2c1ea27c-b234-4def-9024-deb8afedfee8">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_e29aed53-4e06-4a54-bd1b-2402a8ee2f2f">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_87f0d3f5-5044-424a-a609-3ca174b1bfce">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_68b0b5e6-baaa-460e-ac57-8b878db22d5d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_4a1e689c-1cf6-44d6-b7de-43b7a8b4f932">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_3c49da65-3675-437a-9c07-ffc203307dd8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:CashAndCashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_5cb3e512-dc73-4d57-ab65-9f51145bcb3b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:FiltrationProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_fbf962af-3518-49a4-acd6-7423efa30a24">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_a99ed7d0-9879-4894-8c89-02d90cf4d581">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_db538168-e071-4221-adec-303658be9d4c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityExitAndOtherExitCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_9757f996-2ce2-4412-8fbd-38b26bafaf36">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_7d54aed8-1af4-4b01-ac5a-6386ffe65437">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">rgen:CashAndMoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_1cedf720-2fed-4464-9b91-5fa91941f750">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_fadab7cb-bdf3-48c0-8aae-4d92613236b3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_2409797a-4999-4eb6-b741-0e80430b862d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_1e39a1e5-6510-4776-a74e-97861c37cf9b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-02</instant>
        </period>
    </context>
    <context id="C_8ab693e6-bbbd-4af2-bae9-28eb2bd31104">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityAndOtherExitCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_f1dabb7b-507c-48bd-a26a-32591ee1c9d3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_f9061e21-e0a8-43ae-a507-63f7652b4a10">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_c624307a-b136-4698-8f3a-4b1d199716aa">
        <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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_32027269-01ec-4fb8-8c03-af239df544a7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_aabb6a18-d0f6-4b1d-a1b9-9be92dd88cc3">
        <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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_758b478e-0fb1-42f2-a8c4-70f7ab33f82e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-14</startDate>
            <endDate>2023-12-14</endDate>
        </period>
    </context>
    <context id="C_b52c1b81-aa58-46b9-a15a-30bd2e555808">
        <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="C_879baac1-a78a-4fba-bc72-f72f103d8c30">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_2f20bf71-d33f-44d9-9a2f-ef1b16f8b88e">
        <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">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_e53b0c91-806b-4591-8896-50dab997d73d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_257e3f99-1942-4ddd-b38b-f574a469f425">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProcessAnalyticsProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_02a62185-3293-4e50-8d90-d837e774dbe7">
        <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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_0e0bd552-bcac-4012-9965-2bb9a4e1ed90">
        <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="C_15d94e6d-7075-447b-b770-80398d6a7556">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:TrueUpCostsDecember2020Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_79913b54-4d18-4861-8db0-f6441ae54ca2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:FiltrationProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_fa4baece-c5b3-4da0-b25a-3a53da2cd13e">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_4657ed88-5bd4-42c3-a3cf-30d12a4568e5">
        <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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_efffc0ae-2172-43c5-8114-d5bffb7f041e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_eeeb3de4-e5e2-411c-b119-8f88413231a6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_1a51bea0-3b9d-4190-9135-d28e1bbd308e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:OtherProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_18370ce1-bdc3-40c6-b882-2e1f2cee9520">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_8d083a6d-09d3-4820-abd3-7832cd8cf710">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">rgen:InflationReductionActOfTwoThousandTwentyTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_56e66edb-469f-48ab-b8ce-0d631642ceeb">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="C_24bf06e8-e89a-4731-b3b7-c6fb596229f3">
        <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:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_f52d73d5-79c2-4521-af0b-62d744b84c3e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">rgen:OtherDirectorsOrOfficersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_496d84a3-73fe-44c5-8e50-ed839038362a">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_8f926fa8-b0ba-41fc-9906-6f65d6efb057">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-14</instant>
        </period>
    </context>
    <context id="C_1eb6f39f-f060-4fdc-a9c5-951ce53c87f7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-16</startDate>
            <endDate>2021-09-16</endDate>
        </period>
    </context>
    <context id="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_8eefe805-faf8-4fd4-a5e8-da6b752961dd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_e1e72716-495b-42c4-b383-0caca559d128">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_70d04d82-1744-48f0-8fd0-41937327db0b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_ba3f9c5d-4511-4968-9eeb-d6348fadf492">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_89c78e12-5096-4c82-b17c-42e7b33aab48">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputEarnoutDiscountRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_945aa599-c940-445d-9258-07a3bddba11c">
        <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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_c4bd80fe-9b6a-49e6-924a-af77a3bac3b4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProteinsProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_154fd8ae-c58a-4c87-9250-bb5df675f1a8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_23beed10-3ba9-4e9f-b69e-cbd78136e023">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_756eb3ed-ae42-4205-869e-4c89654b3269">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:PfizerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_552cd63f-cd47-4f47-80ac-a57e7b5686a6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">rgen:APACMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_5f2f9205-eb7e-470d-a7d9-d8118fbdda79">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_9f6daf9a-a720-4fa8-ba48-9c6855cb2aff">
        <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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_6c317fe5-5e9d-47bb-aa7b-c2c6fb4e8240">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_7b117a89-fef0-4d8f-a2d5-990fbbc276b0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">rgen:APACMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_714b669d-7f21-41a9-bcf3-63d0d5c97003">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_dcfe37fa-3569-4a2d-ba66-19bca23b7d2b">
        <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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_4a31f843-73e2-41d8-9985-d95872456ff9">
        <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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_7acfea58-fa85-414a-9bf0-d1e1d97ee21e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_3efdbd7b-4530-4e1b-83f1-bdafb2ce9c5b">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="C_b2d8b952-7fba-4c60-885e-ba7de124cef2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_4599201f-18f9-4e94-8b05-0c0498aa84b3">
        <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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_135574b0-08dc-4456-b091-456f1c9e4bf5">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_bd76e994-cdb2-46c6-867b-c6fc03441d38">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_f8ad70dd-d6b6-459c-bb62-1666ae84e439">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_b37f2dd7-db8d-4564-8490-c13af0a7dc9f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ChromatographyProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_afb3bee6-fa66-4b54-b62b-ce77f31cf5ea">
        <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:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_b63785aa-42cf-4b22-99e6-0f65fe08ae7c">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_320c7ca1-e95f-4052-bb17-77c7d630c1ef">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="C_133fdac5-2a09-4dd2-bf15-45a90d016c48">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_a6df805d-7a1c-40ca-945b-fda4c79b5dc7">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_dc97e7ca-b3fe-4699-82c8-96257e653e97">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_d1eb03d2-f31a-42b3-8e21-80c5629704f6">
        <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">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_63eb4483-ae33-494a-ab2b-5e4efc3f40b7">
        <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:TaxYear2043Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_835d039c-6216-472b-b309-981960503438">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_1b8252bc-f643-40ee-921b-58fa5486df44">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_7f10a22c-c0ff-4a49-9c2a-da2cb0211766">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_93fa3b0f-740e-4330-9016-802a5b90c555">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CapitalUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-16</startDate>
            <endDate>2021-09-16</endDate>
        </period>
    </context>
    <context id="C_02f5fe63-1ce5-472c-93ac-0dde30d0afc7">
        <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-31</instant>
        </period>
    </context>
    <context id="C_86d4a801-221b-435d-af60-e5bdc7543155">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_778e1d15-858c-4b3b-82ac-6fbd3ad387d6">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="C_9150ef17-9f11-4bce-9b07-26e9ff551c7f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-19</instant>
        </period>
    </context>
    <context id="C_2ebef10c-1bfd-46c1-869d-5197dd62d60b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">rgen:FairValueOfEmbeddedConversionOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-14</startDate>
            <endDate>2023-12-14</endDate>
        </period>
    </context>
    <context id="C_bd13d202-f611-4de3-bb60-de3263a4d425">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_b6787db1-52de-4a36-a87c-ee2149a29d57">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">rgen:TonyJHuntMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_8e9550b1-18c8-4039-b3a4-5b158816fe0d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="C_761f2c79-00c2-4771-b63d-c76d4896890d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_59c6cb12-a821-424b-958a-8e1dccd5124a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_dc7d7eec-9f46-46e4-8509-341b45573209">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_291cb55b-5c7d-439f-8a16-3e77d97a2c7e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_fb140d0a-a258-4c33-ac33-c345a08de668">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_82b34f21-90da-4453-bd95-19f7f29b5987">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-16</instant>
        </period>
    </context>
    <context id="C_0b61efd7-b157-442a-8cb0-f37e8914d5f6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_c0e1b61d-93ad-47b5-afb1-f12cf756b79e">
        <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="C_7403ed90-12d4-4aa6-b6cb-10512083f740">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-14</instant>
        </period>
    </context>
    <context id="C_795866f3-e5d4-46f1-9c0d-a007e32e6676">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_bd3481cc-2a09-47a2-b563-db968be0bb53">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_717689d5-5087-4a04-aa3f-9f307cf22e1c">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_452c508e-94a8-4d1a-9e28-9bd6a4333ba0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_e8c652ba-dc17-4095-b80a-80be283bdfef">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_6b7a8e21-e6f3-4d79-a2c3-b393af8f8a43">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_90f3eb25-6096-41e0-b120-8962a82a3df8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_5e52ff09-0c2f-4c4c-8f25-02befc4fc5a6">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_cd267744-c09a-477e-9c64-ffc885fc8422">
        <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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_95397cde-e80a-4279-b4e9-cf10f1c35dd3">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_28d5b675-6a40-48a8-8f56-4066b2b4f76d">
        <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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_af29254a-97fe-49f0-93bd-b356ee735f3b">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_4a24b082-a1cd-44bc-9c96-552f2c2d6f9d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputEarnoutDiscountRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_58feedab-dc67-441a-b45a-d499035a726c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_96669801-ebb6-4ad9-a641-e8ae7e52f6d2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">rgen:CashAndMoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_5b88ea0f-d65a-4455-a649-a2887184dd05">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputProbabilityOfSuccessMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_8dd45a8e-8254-41a2-86cd-99c2f5569099">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">rgen:ExchangeTransactionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-14</startDate>
            <endDate>2023-12-14</endDate>
        </period>
    </context>
    <context id="C_0dd2b2f7-9e3b-43b9-ba52-85030fbe87ef">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="C_d4226f43-13ba-4627-af05-aec207a83722">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_665dc070-267b-4a44-b0ca-efc6918f42df">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="C_5a22be32-db3c-42fd-ab9d-6ee722fc8e3e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_15814d3a-48f5-4078-9612-a6b6930af965">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_04f39a08-efdd-4895-a725-28d1badee02f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">rgen:CashAndCashEquivalentsAndMoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_e5c95f33-dcff-4103-abae-8ec2de93b51c">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_4dd94668-6be8-450d-b851-a67c4cecd7a7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-17</startDate>
            <endDate>2023-04-17</endDate>
        </period>
    </context>
    <context id="C_6984f321-4383-4253-8341-3fe236da2eea">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="C_5448846c-c54a-4763-93d4-042463ced1c8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-02</startDate>
            <endDate>2023-10-02</endDate>
        </period>
    </context>
    <context id="C_5bb628d8-3f0c-4b65-b4d7-cb6d76ba077e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-11-29</instant>
        </period>
    </context>
    <context id="C_1ecbfa2c-bd91-4ef0-984f-d6d67284458b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_d406539c-409d-4fb8-8a6c-ef865014fb4e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_b8460d23-6fcb-4f66-aa4c-efa7a3ee889e">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="C_0c7acc8a-d233-46a8-ad54-ac82264bf1b7">
        <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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_67b31ea2-cbfd-4990-8434-91625653cfff">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_b1008982-a0e7-42c3-8ebb-940699378d24">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_b361b1da-071c-4210-8a38-ce6b99a79b49">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_141b94da-eb0e-4f0e-a7e2-89f465f22b1b">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_e82068f2-f43b-48ab-b2a3-63e250500d98">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_650cddf6-090a-41e3-947f-0d59140023fa">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_4d52c185-9ad7-401a-8858-4b968a11b1e8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_c25151a6-90d3-41cb-a88f-808558dea0d0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:OutstandingTwoZeroTwoThreeNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_29bee85e-e36e-422a-8cc3-a9f25ff28950">
        <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:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_1d2b9541-4b8e-48fe-be8d-2836e857321f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-04</startDate>
            <endDate>2022-03-04</endDate>
        </period>
    </context>
    <context id="C_c07ad21f-7a91-41a1-bd55-6c55dcbd0eef">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_f59c1d75-93e9-4ae7-b688-2e3a9f1cc4f6">
        <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="C_6aaa377d-82ea-49a6-a59a-f32b03714b38">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:TwoZeroTwoThreeNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_a2360a68-4dd0-4945-aacf-ea06efbd68e4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_9db6d393-2562-41fa-8eb6-28e3776b9293">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="C_f1cd9d79-74d1-4139-a63f-c0ab3c265986">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_fcaf8185-006b-4d16-9003-5b9a1ce147bb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_553852e5-f660-4778-8733-3912cb9ab81e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_45cbfa90-1a17-4df2-a94b-e3842b34359b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProcessAnalyticsProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_4a13ef59-11f0-4869-b3ec-6c01866a9203">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:UnvestedOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_c208151c-fd40-4b9b-a486-b7d76d6e1366">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-14</instant>
        </period>
    </context>
    <context id="C_0ec1caa0-22b9-49be-99f0-24df7920b8e9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputProbabilityOfSuccessMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_8876d512-9885-487e-975e-5ffa51ba8df7">
        <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:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_3f2e82ce-7563-4fd3-b05b-7cd5bf3bf433">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_33f5639d-9af1-4153-877c-ae26675dc4f7">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_b9353006-1041-419d-bd45-4d2fa466f8f1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_28f41206-0b5a-42aa-821d-020d8aef3341">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangeAndSubscriptionAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-14</instant>
        </period>
    </context>
    <context id="C_983e3cb9-2df9-4140-b9d8-98b5cf07a14f">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="C_7d4ebbb7-d121-4795-b40e-b0083e96b933">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_23e1f1ef-1bb7-4045-8d2b-8d2285005e29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_2b8c7925-9c0b-4ad8-9557-e3d830b96613">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="C_3bba5629-7ed9-481b-801b-a3d769b95b72">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_0855d97c-19d9-40a6-855f-1ec0869199c1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_bdeb8b5b-0869-4604-8c0c-c230625200d4">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_949bc793-4b1e-4970-8dd2-7c4658280c01">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_843d65d6-c3fc-4289-8c55-0e757f11dd06">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_ec338d46-7f43-4052-a518-5dd62b72f6cb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-17</startDate>
            <endDate>2023-04-17</endDate>
        </period>
    </context>
    <context id="C_44b46ac1-294b-4ad5-ac75-62384577540b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_f3ed50f4-f498-439b-b743-5ff2b3271e83">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="C_499b340b-2365-4913-9ac4-727e687d9b0f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_c793d278-3837-4a4b-b733-7fd7f5b62aab">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">rgen:TonyJHuntMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_c6250a31-9f43-4012-8d2c-98cfe33f724f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_d992a0c4-bfe1-4d23-a414-8bcbdc4fb52b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_62811340-9646-4e62-9963-1943cc281dfe">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_ca77aac6-1dd3-4cdc-9e35-19da5b52b9c0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_79056218-50c8-44e2-82c2-3a208471f648">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_921a48f8-4769-4d33-a7a3-7e05610adf24">
        <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:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_bb1046c0-3b06-490a-8ed0-86c951deed8b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_a3f98b1d-782b-4a8c-bf53-5e7ceadda17e">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_9b470293-9e77-40c8-bf3d-3b9ff9fbabc6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_04a162af-d019-45c7-ba8d-785db4be2cc4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_58a6018f-b731-4a31-9169-e8ac0c4c8e50">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:SubscriptionTransactionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_036177bb-d040-407e-a70e-3659831e4ff4">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_4d27362e-a895-4bcf-83da-26cc46043cc9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_b1c6e29e-fc05-4e54-b465-6480be4b68f9">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_55f30178-b54f-4159-b1b4-48d6637edd84">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="C_add2d159-3797-4e29-89a2-b3ec15fb387a">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_5df5f282-6844-4791-aeec-092ec52aeb06">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_83869e39-3aef-449d-8cf6-0f4760a4b0eb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_429cb6c7-82dd-45cb-8326-f24b2227ecb5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_629969d7-4fcd-4b75-bca8-a8070fd99748">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_97cd478d-6e58-4d36-ab63-87e2bef5f174">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_efddb8f6-3d84-4fe7-a51c-93eceedade77">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-14</startDate>
            <endDate>2023-12-14</endDate>
        </period>
    </context>
    <context id="C_57f35866-0a0e-4f03-9e1f-0e6bfdbe887f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_bba058d3-96b3-4a2e-a279-e906ee963d60">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_89f0b31d-6344-48c2-9f98-eacbb11caa75">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_71e6aab3-4604-4735-b858-235e60fd5929">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_eed78df6-712a-432e-bd6f-f80788220c16">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_3ce301fc-07a6-4b1c-b754-765be5af519f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputRevenueVolumeDiscountRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_8a2aa44e-1c77-4e9b-b26f-797d45ec5e86">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_e2c655d5-4410-4248-981e-81f625c5018a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_4204e5f8-1d80-453b-8e14-de8b7089fedb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_65140819-c846-433b-a0f2-ad0fdc3b1308">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-14</startDate>
            <endDate>2023-12-14</endDate>
        </period>
    </context>
    <context id="C_3b788741-5d93-4233-bf76-1f8ce2171673">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_32322d77-2667-4a63-8d07-cfba6b2de40b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_a79fa7ee-93f3-42d7-bd7e-a948de915877">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_3be99d0a-f372-4903-bb6d-f2466e54c75b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:PfizerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_546f5e82-5209-4941-bc7b-b127f9248472">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:CashAndCashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_d75bbd09-118c-44a7-affe-8efb170003a5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:OtherProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_2e331be7-03c9-42af-8c9d-11ce133231f2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">rgen:SubscriptionTransactionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-14</instant>
        </period>
    </context>
    <context id="C_6a912e51-af00-4572-811e-2b5970f1a018">
        <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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_dee2a31b-7253-47c6-9660-f5b5e672b177">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_45b25950-5350-44d6-9095-0f27163c9d66">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_2d320bf6-77ac-4821-8714-9c004fb3f74e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_04b246ad-22b7-4909-956d-0b417823517e">
        <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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_7033f524-e20c-4e28-a2e1-5b4cac1b4acd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_dbc99887-a384-479d-a23e-5365e742bd7b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_ab11a2aa-60dc-4803-90bc-c52248d48c95">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ChromatographyProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_57261171-043d-4a6d-adf8-cf4e5e8cdd09">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_a7520188-6414-4a66-b746-38db7ebbf7c9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputPriceVolatilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_3de5f0a2-8ee1-4896-a6eb-e9e2e357d07a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:InventoryAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_b31196e7-7730-407e-87ad-427e92d47547">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_887930fe-3dd9-43cf-83da-f4b638e9203f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_176c1247-eb2a-4c73-b097-6065fe9c697c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_c89c50b0-45e1-46f7-a2a3-d8117bbadd3e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2024-02-16</instant>
        </period>
    </context>
    <context id="C_79ec1b94-5e13-4664-8016-cda4361247f8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:ManufacturingLineExpansionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:ProbabilityWeightedPresentValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_12185a3c-5d63-40de-9abd-7778ed8450bd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-02</startDate>
            <endDate>2023-10-02</endDate>
        </period>
    </context>
    <context id="C_26b1e372-ec7e-489c-8354-3fe6947aa5ce">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_523b577f-8694-4c5c-bc9c-89902f8a8f08">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:SubscriptionTransactionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-14</startDate>
            <endDate>2023-12-14</endDate>
        </period>
    </context>
    <context id="C_32215449-730e-4fa0-b7ac-781fd5013fdc">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_9d8eb4d3-dcb1-4dfe-a7e8-7486f6f981ff">
        <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>2023-12-29</instant>
        </period>
    </context>
    <context id="C_2ce1f9f7-c650-481f-a371-7fac561d3950">
        <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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_826b001f-8995-4dfe-a75f-11bb3ac3fc1a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:SubscriptionTransactionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-14</instant>
        </period>
    </context>
    <context id="C_ef6d10bd-1d94-4091-bb07-caade3c1ab18">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="C_d997f6f8-f5ec-4f58-9e56-a279b563d488">
        <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:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_479de3ae-4feb-457f-a793-23b9bdffbe18">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_9ad2189e-e69d-4460-9877-8741f4ce6bcd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-06</instant>
        </period>
    </context>
    <context id="C_051050a2-02f3-4c31-b83a-ad7771e5b2b5">
        <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="C_bb1ef129-3ecc-499b-99f2-c42e7b8646f3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_be5ba352-1c27-44a1-ae55-9d65ee21f44a">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_e63149c3-6dce-46a4-8671-9b15fce4a2b7">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_8d429b7c-b04a-429e-8930-499fef59f053">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_4619b23a-a216-4534-a36b-2e590e473ee9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-14</startDate>
            <endDate>2023-12-14</endDate>
        </period>
    </context>
    <context id="C_8b504674-e4ca-4879-959d-9ace15ea74ed">
        <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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_b98a2b3e-73d2-4e3e-ad92-46b13211758b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_f44ebb5b-d0bb-4871-87af-ca9f24e74007">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_2f79f48c-a6ef-4e8f-90f6-ded0197ac660">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_fc09c87f-3b2c-4ae1-a049-b2a83a1fa06f">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_8e9ef9aa-c8dd-45d5-a8d3-a5cd3db78973">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_5a89aa7f-7234-4cfa-82bd-e359c1c57fef">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityAndOtherExitCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_1ad325f0-3cde-42a7-9403-d3a899ab7b92">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityExitAndOtherExitCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_00980794-5d70-4348-a45b-9a5b33cd024e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_f5589251-6303-456d-bfb0-5ae13f002dca">
        <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>
    <context id="C_4da766cd-d426-449c-8270-2b81279ef550">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_c6b33d55-7c41-4879-8628-e1b72882aad1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_16ced66a-a0a8-434a-a2c2-3aa9415a3733">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ExchangeTransactionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-19</instant>
        </period>
    </context>
    <context id="C_4d5da0c2-c998-4203-b661-a923d1491869">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityAndOtherExitCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_f897156f-7cee-4f32-9e8b-aea890a9a4ca">
        <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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_0636f0b2-82e8-4d4a-8689-7980ef3c140d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_6805c462-0ef7-4871-88b0-f551c5301d03">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_a767d9a8-2ae9-4df1-8795-b40611e450db">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_5ad1494d-8984-40f9-a1cb-e139b09e9b9d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_56a3f80b-d903-4f51-b0b9-abc2078d1a8d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_4abc906f-1ca4-41fe-958f-d1895f576d7e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_f3e4551d-16c5-41d1-aca4-7a41e0034ab6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_abc6d87e-0b6b-412d-99d2-368b6cead43d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_1f4e6754-54ee-4ac5-bcdf-6ee2f3734b0c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_4e67a3f1-4977-4011-bde5-d94904a2fa18">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-29</startDate>
            <endDate>2021-11-29</endDate>
        </period>
    </context>
    <context id="C_2272654c-228a-40b4-950d-0d2fa143ab89">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:FacilityAndOtherExitCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_e8faaed7-6fda-402c-a16e-99d4a4e56b2e">
        <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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_43b128f1-047e-4813-bab4-84eb75cde4c5">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_f69fe89a-f0fe-4055-88ed-d1817a15cd4d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputEarnoutDiscountRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_9ca68910-1653-4e2f-bfcb-c7b84370abec">
        <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:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_652b42cb-2d66-41fe-9327-e2a4645e1d06">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_accb995c-4abf-4ea5-b6c5-3a74a0b46bd8">
        <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:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">rgen:RevenueAndVolumeBasedPaymentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_d405691e-519f-4635-8348-61273f0c93b0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:CustomerNumberOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_823e817c-1120-41c0-8f87-43cc3bca6990">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_fc61bcb4-5f09-45af-931a-1be17723fb6a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_976715c7-5544-4187-9405-cd13f1b2793b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:BioflexAndNtmAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_4047a929-48bd-4b7f-ab2c-422de8b51ffc">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="C_720ee9a7-f328-4954-89d0-db33b1176580">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_760d4e33-c9bb-413f-89b2-29e4e3d8ab51">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:AvitideAndFlexbiosysMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">rgen:ContingentConsiderationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rgen:MeasurementInputProbabilityOfSuccessMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">rgen:MonteCarloSimulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_8e9549bb-d861-4e1b-8c16-7f3c53871517">
        <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>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_df2039f8-84a3-429c-a66d-8e1ad1765af9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:RestrictedStockAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_2e432de0-16fc-4fd7-ae86-741fd451fa1d">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_1d4659d2-c3f5-4a48-8cda-dee4ef869001">
        <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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_88e1120d-11cc-4358-bc17-de14ebe14017">
        <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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_3dce753b-6100-443a-8dda-9eb651378f62">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:PolymemSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-06-22</startDate>
            <endDate>2021-06-22</endDate>
        </period>
    </context>
    <context id="C_efda8109-3ef1-45fa-b367-221c2fff8a2f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProteinsProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_3e29d7b6-1365-41b8-bbda-785796d1e6b6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_4a4d4bcf-dc88-4a65-8d52-52776bd62409">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:FlexbiosysIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_ab61df74-eb80-464e-a4c7-9da2cadbc855">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:ModifiedTwoZeroOneNineNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-14</instant>
        </period>
    </context>
    <context id="C_0fa4207c-bb1e-415c-8980-63f2a52c720f">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="C_318058e4-eefd-48fc-9c45-d35a613913ff">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rgen:AcceleratedDepreciationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_49349e53-b04d-4615-92ad-de5a82724747">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:PfizerMember</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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_07e86b36-118b-45f6-adaf-e4bf5d62364c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:PuroliteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_aa0933a1-5cea-46e0-b809-dbe79ee2c2b8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:CustomerNumberOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_cb61d3f6-bd99-4568-99e1-9f1c180df1bf">
        <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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_04a7b57c-8c1a-4007-b961-615aab61ee62">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="C_b8d7f7de-d986-4719-b42a-741c446186e7">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_269e5895-414f-4f10-a1b6-ed25f4fe70f5">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_0a0c86ba-c334-41b2-bcc0-4dbd40d7f5b8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:OnePointZeroZeroPercentConvertibleSeniorNotesDueTwentyTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">rgen:TwoZeroTwoThreeNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_cd410ac8-bf8e-4911-9492-75c2d820a275">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_cc029464-b385-49cb-9e56-b4628acc7d0a">
        <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="C_76b0becf-00cf-4745-b3a9-ee1d2ad42d5c">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="C_18f978c9-ddec-486d-945d-0074a86a8918">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_a881087b-1778-4ff1-8f7d-f854d11d166f">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_bc05f12f-1d3d-467b-a871-ab4a3a2788b9">
        <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>2023-12-14</instant>
        </period>
    </context>
    <context id="C_4016e51f-a392-49c5-9c26-e9ddedab261e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:MetenovaHoldingAbMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_9011b1f0-543e-44f7-aa9b-706c7c794f92">
        <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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_3fe4a608-1d4f-468c-8b33-9b8b5681611f">
        <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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_2b50fe49-16f6-46b5-86a3-05390f7f77d9">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_753a94c8-7ff4-491a-9a71-4555722dc47e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:NotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-14</instant>
        </period>
    </context>
    <context id="C_150e519b-39a6-4239-bf63-7e5d43c982be">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_3198d594-eada-4d09-8f2f-510d5cafcc74">
        <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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_8c938ea9-304b-4311-99e3-3e2734dbbb32">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <unit id="U_UnitedStatesOfAmericaDollarsShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="U_pure">
        <measure>pure</measure>
    </unit>
    <unit id="U_sqft">
        <measure>utr:sqft</measure>
    </unit>
    <unit id="U_shares">
        <measure>shares</measure>
    </unit>
    <unit id="U_Segment">
        <measure>rgen:Segment</measure>
    </unit>
    <unit id="U_Sites">
        <measure>rgen:Sites</measure>
    </unit>
    <unit id="U_Days">
        <measure>rgen:Days</measure>
    </unit>
    <unit id="U_USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="U_ReportingUnit">
        <measure>rgen:ReportingUnit</measure>
    </unit>
    <dei:DocumentFiscalPeriodFocus
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_ed5efebf-4e5c-48b5-85dc-204d301f886c">FY</dei:DocumentFiscalPeriodFocus>
    <dei:CurrentFiscalYearEndDate
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_da102802-52c3-470d-8a3b-6e5fbf47cd4f">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:EntityCentralIndexKey
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_4e2024c9-7223-426e-a56a-c537c63096a8">0000730272</dei:EntityCentralIndexKey>
    <ecd:TrdArrTerminationDate
      contextRef="C_b6787db1-52de-4a36-a87c-ee2149a29d57"
      id="F_ba30257e-68cd-450e-8567-22cf37733c09">P252D</ecd:TrdArrTerminationDate>
    <dei:AmendmentFlag
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_bc7a94ea-27f4-470c-aef8-35531bf44765">false</dei:AmendmentFlag>
    <ecd:TrdArrDuration
      contextRef="C_b6787db1-52de-4a36-a87c-ee2149a29d57"
      id="F_ac9a2dce-b608-4341-b136-c791f285e18d">P372D</ecd:TrdArrDuration>
    <us-gaap:CommitmentsAndContingencies
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      id="F_f4c04ce3-5e2c-43ea-8986-99578a1f9af9"
      unitRef="U_USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      id="F_f11edaa8-1169-4eef-bffc-60534cd9c2f7"
      unitRef="U_USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration
      contextRef="C_02a62185-3293-4e50-8d90-d837e774dbe7"
      id="F_833e71a6-5eeb-49e0-a78c-32c503c839cf">http://fasb.org/us-gaap/2023#UsefulLifeShorterOfTermOfLeaseOrAssetUtilityMember</us-gaap:PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_e8faaed7-6fda-402c-a16e-99d4a4e56b2e"
      id="F_5228bde0-a8f9-4d0e-8b0f-d7ad6cd002e0">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_c624307a-b136-4698-8f3a-4b1d199716aa"
      id="F_f687d5a1-4081-4400-8f1a-6ce4fa87b8cf">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_4657ed88-5bd4-42c3-a3cf-30d12a4568e5"
      id="F_254e1113-308c-468a-ae2c-284636e490d3">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <dei:DocumentType
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_e94194fc-e5b1-4c18-aa19-7e5c0d4a6e0f">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_1ab018f6-8a29-4dcc-a807-991eecb4b8b4">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_ef56c490-166c-4fbf-8564-f08689052e81">2023-12-31</dei:DocumentPeriodEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_187f04df-e5e3-4d43-bbef-7ca5403e3c29">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_c50efcb8-fe2c-4af3-8a6a-0b53d93fb544">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_d89cf10e-f1c0-4260-aa17-e202fb9e07ce">000-14656</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_545402d6-41b8-4fbf-b796-036edc4bff9b">REPLIGEN CORP</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_90907ed2-68a1-4152-90c3-5d0494898b26">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_1aaad1b7-c53b-4a8e-a753-4e32fc4f423b">04-2729386</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_4b2ed140-c482-4633-8c8e-6ad90088585f">41 Seyon Street, Bldg. 1, Suite 100</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_7f1e31b9-c88c-423c-9ea4-2dba5203c6ad">Waltham</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_76c21aed-c0f9-46ef-8b35-4b4b0ab59a83">MA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_3375b3f8-0199-47f6-8cc0-01bf61c2b5d8">02453</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_97e66524-cce4-4eda-bb10-9316fbb31bc2">781</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_ee1958fe-954b-43ec-843c-0dc0b89110d0"> 250-0111 </dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_83f8d4a1-f5c4-4f55-8605-580c915d53a7">Common Stock</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_fbe802e9-8a0b-4c0a-b81d-d573f7be5569">RGEN</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_a49d8f6f-475b-4774-8cce-9b398cbde361">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_0f5ea2aa-90ff-4c55-9878-a6325cfcd982">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_31d42ddd-2c9f-4b90-aa46-b21c237b8d7d">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_ba547865-c272-438a-823e-92235aa9563a">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_9db96e32-3451-4b09-9dd4-93ccae02ded6">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_e38ce159-da68-4c10-9361-0f56b80e247a">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_72ad9a3e-3d01-413a-abd5-ddb04d69b77a">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_eb254311-2c99-4184-9a35-0961bd014abf">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_64a195d3-9704-405e-a0ab-e9f47978ab83">true</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_00188e5a-7260-4df3-8ddf-ad1d9b5cfc68">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_945c341a-db66-447a-8863-2521ce1e109a">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="C_f3ed50f4-f498-439b-b743-5ff2b3271e83"
      decimals="0"
      id="F_2b9eb9ed-0fe4-486d-bbb6-ce3578939724"
      unitRef="U_USD">6931847028</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="C_c89c50b0-45e1-46f7-a2a3-d8117bbadd3e"
      decimals="INF"
      id="F_868c67ad-b2c3-47d7-98f9-70400df7096f"
      unitRef="U_shares">55771075</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_f5cbbdef-1b5d-448b-8a31-554f87410b8e">&lt;p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"&gt;Documents Incorporated By Reference&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:3.4%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"&gt;The registrant intends to file a proxy statement pursuant to Regulation 14A within 120 days of the end of the fiscal year ended December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"&gt;. Portions of such proxy statement are incorporated by reference into Part III of this Annual Report on Form 10-K.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorFirmId
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_2a99030c-1934-4c75-9ca2-8600ffeb3048">42</dei:AuditorFirmId>
    <dei:AuditorName
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_4dd34663-9f4a-4af4-acf8-5043a852d255">Ernst &amp; Young LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_8e4ecfe4-f4c6-4348-9688-adb457530f81">Boston, Massachusetts, United States</dei:AuditorLocation>
    <ecd:MtrlTermsOfTrdArrTextBlock
      contextRef="C_e2c655d5-4410-4248-981e-81f625c5018a"
      id="F_15f36920-8fb7-41a0-a2a4-3a81fdf86895">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Rule 10b5-1 Trading Plans&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During the fourth quarter of 2023, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Tony J. Hunt&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Chief Executive Officer&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;adopted&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; a trading plan intended to satisfy Rule 10b5-1(c) under the Securities Exchange Act of 1934 ("Exchange Act") on &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;November 9, 2023&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; to sell up to &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;78,216&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares of our common stock between March 8, 2024 and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;November 15, 2024&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, the date this plan expires. The trading plan will cease upon the earlier of November 15, 2024 or the sale of all shares subject to the trading plan.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During the fourth quarter of 2023, none of our other directors or officers (as defined in Rule 16a-1(f) of the Exchange Act) &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;adopted&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;modified&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, or &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;terminated&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; a Rule 10b5-1 trading arrangement.&lt;/span&gt;</ecd:MtrlTermsOfTrdArrTextBlock>
    <ecd:TrdArrIndName
      contextRef="C_b6787db1-52de-4a36-a87c-ee2149a29d57"
      id="F_baf601ef-0441-4145-a91e-e87ffd643822">Tony J. Hunt</ecd:TrdArrIndName>
    <ecd:TrdArrIndTitle
      contextRef="C_b6787db1-52de-4a36-a87c-ee2149a29d57"
      id="F_25886645-3476-4717-b355-c0c060ecb60f">Chief Executive Officer</ecd:TrdArrIndTitle>
    <ecd:Rule10b51ArrAdoptedFlag
      contextRef="C_b6787db1-52de-4a36-a87c-ee2149a29d57"
      id="F_7c4b8e26-e62b-490f-92d2-5b694c78dd23">true</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:TrdArrAdoptionDate
      contextRef="C_b6787db1-52de-4a36-a87c-ee2149a29d57"
      id="F_028d62b9-7de9-482b-9832-bedbc6fd03b5">November 9, 2023</ecd:TrdArrAdoptionDate>
    <ecd:TrdArrSecuritiesAggAvailAmt
      contextRef="C_c793d278-3837-4a4b-b733-7fd7f5b62aab"
      decimals="0"
      id="F_1f8c3b52-5080-432c-a00d-9be5287de8b9"
      unitRef="U_shares">78216</ecd:TrdArrSecuritiesAggAvailAmt>
    <rgen:TrdArrExpirationDate
      contextRef="C_b6787db1-52de-4a36-a87c-ee2149a29d57"
      id="F_4d8da790-c7f6-4b3e-a88e-612d1282577a">November 15, 2024</rgen:TrdArrExpirationDate>
    <ecd:Rule10b51ArrAdoptedFlag
      contextRef="C_f52d73d5-79c2-4521-af0b-62d744b84c3e"
      id="F_a0f1fbac-7f2d-477c-864c-69fb9eee9773">false</ecd:Rule10b51ArrAdoptedFlag>
    <rgen:Rule10B51ArrModifiedFlag
      contextRef="C_f52d73d5-79c2-4521-af0b-62d744b84c3e"
      id="F_fe301af3-4cee-44ea-926c-34c66c67fdf8">false</rgen:Rule10B51ArrModifiedFlag>
    <ecd:Rule10b51ArrTrmntdFlag
      contextRef="C_f52d73d5-79c2-4521-af0b-62d744b84c3e"
      id="F_8043d76a-e178-4ddc-bec2-a0ccdc418737">false</ecd:Rule10b51ArrTrmntdFlag>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_b17d6f0b-7a56-4359-b695-45d1a8d1f604"
      unitRef="U_USD">751323000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_ab6024a8-f838-4c56-b6ab-c96f15ffe47d"
      unitRef="U_USD">523458000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:HeldToMaturitySecuritiesCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_4993fc9e-f4d0-4e0d-95e8-866b7a34069a"
      unitRef="U_USD">0</us-gaap:HeldToMaturitySecuritiesCurrent>
    <us-gaap:HeldToMaturitySecuritiesCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_866a5685-29c6-4074-b0b8-0f541546b3e4"
      unitRef="U_USD">100299000</us-gaap:HeldToMaturitySecuritiesCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_aed09663-699e-4d9c-b4d8-23551ef17100"
      unitRef="U_USD">2122000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_9e5cb2e7-c59b-4446-95af-690af7ecd781"
      unitRef="U_USD">1365000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_425e155a-23a5-4a67-b536-65b949b1f6b9"
      unitRef="U_USD">124161000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_51ba96f8-a3a0-4285-90ca-ee980f7a49c5"
      unitRef="U_USD">116247000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_6ed7fde1-9aa0-4978-b511-cc54fef34d21"
      unitRef="U_USD">202321000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_b0e2bdfb-2ae7-4878-930c-f52107cba479"
      unitRef="U_USD">238277000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_fb6f4c26-c54e-4ef0-999f-534ec6a27629"
      unitRef="U_USD">33238000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_db4d81da-41be-458d-bbf2-0ef350228d13"
      unitRef="U_USD">19837000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_ec5b4875-db67-438b-aa8b-c9620785e5c1"
      unitRef="U_USD">1111043000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_d08aa3ba-dc36-4b03-adea-0032d342251f"
      unitRef="U_USD">998118000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_cc57cc1e-19ff-45d1-84b0-aa89894a4ef9"
      unitRef="U_USD">207440000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_1d1bb05b-a7c0-44d7-b8e0-cc5addf14ae7"
      unitRef="U_USD">190673000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_2c7e65a1-c6f7-4308-9e1e-222c50965bd1"
      unitRef="U_USD">400486000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_7aa8db3a-c91b-4cfc-b1e0-93294194853f"
      unitRef="U_USD">353676000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_5bdd4f4a-ea13-494b-bc77-27d5b5f6695d"
      unitRef="U_USD">987120000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_d59733bb-3e90-4776-b11d-630986e9eb7d"
      unitRef="U_USD">855513000</us-gaap:Goodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_f5a9ecf1-df65-4550-943c-f916cda4ba17"
      unitRef="U_USD">1530000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_9820383a-cea6-46ea-80ce-2a1f457d29d5"
      unitRef="U_USD">840000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_b3e82903-23eb-40f3-8f1c-56ef478885ac"
      unitRef="U_USD">115515000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_24069d74-6e3f-4ed4-afb6-264f5b0f2013"
      unitRef="U_USD">125023000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_4c0ecc81-1931-4e96-89a4-5053a856c9d7"
      unitRef="U_USD">1277000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_d66274a8-0782-41b4-9782-23bb1b03a2fa"
      unitRef="U_USD">815000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_243b12a7-e444-45bb-acbe-7d8b4ae92ec9"
      unitRef="U_USD">1713368000</us-gaap:AssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_29d41a5a-922e-4a61-87ca-6fc494f8d35c"
      unitRef="U_USD">1526540000</us-gaap:AssetsNoncurrent>
    <us-gaap:Assets
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_ff8bfd62-9cb9-4994-aef8-cff4e509fac5"
      unitRef="U_USD">2824411000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_37a664ea-9de8-4361-9142-5534876e503f"
      unitRef="U_USD">2524658000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_37e64dd4-5395-4bf0-87b2-31806dce6405"
      unitRef="U_USD">19563000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_638b8545-5a7b-4e68-a0a1-8f06f7a9d235"
      unitRef="U_USD">27554000</us-gaap:AccountsPayableCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_06c84b73-12d0-4a2f-bb06-fff55ababef6"
      unitRef="U_USD">5631000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_dfdcbda0-1fab-47c4-be44-de20fa737bf7"
      unitRef="U_USD">6957000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_59d23ba6-a5ec-461f-9043-db7f455a6222"
      unitRef="U_USD">12983000</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_11411584-8688-46b0-b606-df706caa84ed"
      unitRef="U_USD">13950000</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_ed546827-5e17-443a-b2c2-2d49ed350a6d"
      unitRef="U_USD">50533000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_5e64222d-c0ce-4245-a465-37658b6d241a"
      unitRef="U_USD">71120000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_5ab5ae8b-4361-4a72-a1a2-6a021311374c"
      unitRef="U_USD">69452000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_0757d943-ad89-438a-ab23-d78a924c3d52"
      unitRef="U_USD">284615000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_aaa47bdb-1689-45c7-8862-62b84f69cabe"
      unitRef="U_USD">158162000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_1267455a-77af-4cc2-b5ff-c514e6b4eae8"
      unitRef="U_USD">404196000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_03e525ff-34e1-44d9-8a54-fd23adf6c1a9"
      unitRef="U_USD">510143000</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_f75f60e0-723c-4caf-9156-03b1ae84d692"
      unitRef="U_USD">0</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_e46d6b08-a8ef-4623-91c9-8caa49c59e5f"
      unitRef="U_USD">40466000</us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent>
    <us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_8bac9470-383f-4633-8299-386108638b4b"
      unitRef="U_USD">23000000</us-gaap:DeferredTaxAndOtherLiabilitiesNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_5ae804bf-8ce8-45ea-866b-e726945dc345"
      unitRef="U_USD">126578000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_df3f386d-43cf-4498-b387-85b42ed3b6e5"
      unitRef="U_USD">131389000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_62b0ad3e-fe15-42bf-92f6-065abcc56159"
      unitRef="U_USD">14070000</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_dbdff1e6-e34a-4775-ab57-71a60db2bced"
      unitRef="U_USD">51559000</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_d1abeb81-0bb8-4706-9e77-481b74a9404c"
      unitRef="U_USD">3789000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_85874844-4a33-4c37-b33a-394cffc949c7"
      unitRef="U_USD">3814000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_2738b2c1-f747-4151-be9b-3d304261903f"
      unitRef="U_USD">695046000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_059d6457-92c4-4158-a5c7-a5d8e6413544"
      unitRef="U_USD">209762000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_284eeb22-a0ea-4f0e-ac19-286c9f06483e"
      unitRef="U_USD">853208000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_f8b1a9c3-29d0-4c87-9e71-c785bdbdcc7a"
      unitRef="U_USD">613958000</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="2"
      id="F_a0e7e3b6-537b-46cf-9027-b443fdd046f8"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="2"
      id="F_5925dd3f-f062-4dbc-99eb-76140e450569"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="INF"
      id="F_90792660-ee2c-423a-a7d0-a3dd8ba968dc"
      unitRef="U_shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="INF"
      id="F_8a9a1230-3666-487e-9dd3-a2f9d43374d7"
      unitRef="U_shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="INF"
      id="F_ccac505d-06ca-40de-ad2a-21b0a75852a9"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="INF"
      id="F_47b1565a-46ae-4442-9177-d9b982efd29f"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="INF"
      id="F_8d75adbd-a198-4c10-b552-e0f1148c2f23"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="INF"
      id="F_9895bafa-b958-426b-884c-97411346fa9e"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_263b7484-707e-42e4-a92c-aaef6fb3634b"
      unitRef="U_USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_edfafb1b-8c4c-41b2-9dc6-089259fdf0d0"
      unitRef="U_USD">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="2"
      id="F_8d05753c-a740-4a31-87fb-d802d4dfe452"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="2"
      id="F_f2d97275-d428-4f63-a055-df9aa2bd53ba"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="INF"
      id="F_6e0ebb57-ff40-48e1-84e0-b3b6685dfb9b"
      unitRef="U_shares">80000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="INF"
      id="F_65f06831-745f-47a9-b11f-4b981073f228"
      unitRef="U_shares">80000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="INF"
      id="F_848a23f9-f609-404f-ae6f-aac692334aee"
      unitRef="U_shares">55766078</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="INF"
      id="F_57630b31-575b-4cff-b6db-a2f658611227"
      unitRef="U_shares">55766078</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="INF"
      id="F_7c47f41d-14fa-4872-9c8c-120d5844ce35"
      unitRef="U_shares">55557698</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="INF"
      id="F_c658f8be-81bb-4bb8-b607-d9e6d44271f2"
      unitRef="U_shares">55557698</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_cacde944-8259-48f1-83ab-1ffb68f9d21e"
      unitRef="U_USD">558000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_ca2f4e0e-3ffb-4608-a89d-8ae7786f68ab"
      unitRef="U_USD">556000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_a466eeb6-7e16-42af-b9be-85b58d9467b5"
      unitRef="U_USD">1569227000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_625119b6-28b9-42fe-8f28-a8a8694d2ab9"
      unitRef="U_USD">1547266000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_ee391336-c17e-4351-8dbd-1a398f2dd2fe"
      unitRef="U_USD">-37431000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_711500d7-6372-4095-9cce-978960cce3e9"
      unitRef="U_USD">-34394000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_4c2a2ddd-8a60-4d78-bafe-456be34a04d0"
      unitRef="U_USD">438849000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_028bb182-c621-4588-8ca6-d2aa744b0fe4"
      unitRef="U_USD">397272000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_c38d0841-3c7a-4e17-818b-57634361ffa3"
      unitRef="U_USD">1971203000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_9ee1d844-97f6-4875-98d3-c1afaca20973"
      unitRef="U_USD">1910700000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_46f37b6b-c218-452c-9b65-400ad3b53a91"
      unitRef="U_USD">2824411000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_44b6ef47-301d-4f1a-82e5-51ea1fbe0bde"
      unitRef="U_USD">2524658000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_dee2a31b-7253-47c6-9660-f5b5e672b177"
      decimals="-3"
      id="F_c6ee228b-4f37-44ab-856f-da4a97d93821"
      unitRef="U_USD">638381000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_9011b1f0-543e-44f7-aa9b-706c7c794f92"
      decimals="-3"
      id="F_01bf5557-cdf9-4632-abb1-c35b433cf84e"
      unitRef="U_USD">801183000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_650cddf6-090a-41e3-947f-0d59140023fa"
      decimals="-3"
      id="F_5e8014c6-2eb0-459c-962a-41088b6d8f2d"
      unitRef="U_USD">670319000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_4963f6f6-5033-4b4e-af94-a330c4799802"
      decimals="-3"
      id="F_977d2ff8-215a-4e1d-a240-13adbe460ce2"
      unitRef="U_USD">383000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_8b504674-e4ca-4879-959d-9ace15ea74ed"
      decimals="-3"
      id="F_b0004379-2299-419d-9b39-ec93896c4f9f"
      unitRef="U_USD">353000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_86d4a801-221b-435d-af60-e5bdc7543155"
      decimals="-3"
      id="F_a1804fe6-f40b-410b-9dcb-0a2d37c0f980"
      unitRef="U_USD">215000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_cbe768b1-4dd7-4b14-a306-aca5a6cd78b8"
      unitRef="U_USD">638764000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_8bb97479-dec7-439d-b752-4c9a47743ff8"
      unitRef="U_USD">801536000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_a046937e-bab5-41b5-bc0e-eedf1db3dcdc"
      unitRef="U_USD">670534000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_c8ece5dd-c388-4eea-a4f6-f2579971c44f"
      unitRef="U_USD">353922000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_217e2f17-0735-4798-a3d9-430e38ab4b3e"
      unitRef="U_USD">345830000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_053f3f7a-5bce-47c3-91e0-23758a803724"
      unitRef="U_USD">279280000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_024e9dd2-fb2f-48e1-9df5-73567522b048"
      unitRef="U_USD">42722000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_5c6bf0e3-bb58-47b6-ab17-9f5ec8d88bb6"
      unitRef="U_USD">43936000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_3927632a-e5fc-4ce9-b562-a0b88ee414ae"
      unitRef="U_USD">34274000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_e6409aac-e685-4613-aadb-58c7182e4e62"
      unitRef="U_USD">218113000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_1ef2df6a-c4ce-480a-9f45-670ddb4f79d1"
      unitRef="U_USD">215829000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_eb0cd03c-f0e1-4361-afff-fe8cc9f0282a"
      unitRef="U_USD">183866000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_634a00fd-a2eb-460b-820c-38775f92f4b4"
      unitRef="U_USD">-30569000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_5059cdfe-ac23-4268-894a-d6aba1ac8fc2"
      unitRef="U_USD">-28729000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_255a173b-f30e-4357-9b81-576529b15efb"
      unitRef="U_USD">5865000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:CostsAndExpenses
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_2a38fc28-b723-45b2-9a0b-f1c0268cff4b"
      unitRef="U_USD">584188000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_16d95ceb-b48d-484f-ba4f-3070d2ed2a90"
      unitRef="U_USD">576866000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_8c099a97-78ed-409c-ba31-db1e6c6b9897"
      unitRef="U_USD">503285000</us-gaap:CostsAndExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_5fdbd7f4-0dd1-4754-89c2-14b452f7f803"
      unitRef="U_USD">54576000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_ee83b31a-f03a-4cf2-a674-4264861cdc21"
      unitRef="U_USD">224670000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_34ff1405-6820-4d5a-841e-3935dd6149d7"
      unitRef="U_USD">167249000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InvestmentIncomeNet
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_61a4f2dd-5131-4695-8a97-fb2d82cc2022"
      unitRef="U_USD">24135000</us-gaap:InvestmentIncomeNet>
    <us-gaap:InvestmentIncomeNet
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_6ef7a618-127a-4f4b-a8d9-b4e8fd28a842"
      unitRef="U_USD">6978000</us-gaap:InvestmentIncomeNet>
    <us-gaap:InvestmentIncomeNet
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_53d8c0d5-6c99-40a9-8c23-b59ae4869f3a"
      unitRef="U_USD">176000</us-gaap:InvestmentIncomeNet>
    <us-gaap:InterestExpense
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_1e38d2d1-5c42-4410-8464-260cb8fe5de0"
      unitRef="U_USD">1951000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_dcb72c35-749b-4196-86b0-0a3dddd32e4e"
      unitRef="U_USD">1162000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_f020deac-e9ab-4ea9-9a2b-64edf948509a"
      unitRef="U_USD">11278000</us-gaap:InterestExpense>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_aae37e72-647b-495d-9c09-6f484b821f2c"
      unitRef="U_USD">-12676000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_4c0e9173-d8db-43f1-a74c-c66952863a2a"
      unitRef="U_USD">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_64c3a655-8c5b-4567-84a5-9f572d562a7a"
      unitRef="U_USD">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <rgen:AmortizationOfDebtIssuanceCost
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_49883a3d-2ff0-4e69-be54-0025f691ae93"
      unitRef="U_USD">8075000</rgen:AmortizationOfDebtIssuanceCost>
    <rgen:AmortizationOfDebtIssuanceCost
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_5cb245b0-1f23-40ce-9e18-3f943a0a70ee"
      unitRef="U_USD">1815000</rgen:AmortizationOfDebtIssuanceCost>
    <rgen:AmortizationOfDebtIssuanceCost
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_3098996f-92d0-4091-8a83-e35acce500ca"
      unitRef="U_USD">1436000</rgen:AmortizationOfDebtIssuanceCost>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_b1b3ed21-7c03-4685-b32e-4f52134b6395"
      unitRef="U_USD">8123000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_e9ec46aa-fe9f-4dae-9b57-2bd37dab4dc6"
      unitRef="U_USD">-9531000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_de979d5e-f43b-46a2-80a7-82dcd0237c5b"
      unitRef="U_USD">-1168000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_83b7e3fc-0110-495e-b6c1-234421fa941a"
      unitRef="U_USD">9556000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_dd341821-9d15-47c0-bc47-660e27aeec79"
      unitRef="U_USD">-5530000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_6abfda41-2695-44f7-abde-04b956e20d37"
      unitRef="U_USD">-13706000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_7d098463-0bbc-40a9-bf43-c5afdb384a23"
      unitRef="U_USD">64132000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_19065a40-149b-4d6f-9f7e-49e75b35f8ce"
      unitRef="U_USD">219140000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_b51d4737-7c5e-4e9f-a4bd-03d9c08becaf"
      unitRef="U_USD">153543000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_7557de1b-67e0-45bf-9aa6-b2db69975491"
      unitRef="U_USD">22555000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_cc961036-ceab-4081-a3a8-410d45a4cebc"
      unitRef="U_USD">33181000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_9da06e94-735b-433d-b7f1-5c44ea85b880"
      unitRef="U_USD">25252000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_6835c53b-ccc9-4da0-9421-2249626d8069"
      unitRef="U_USD">41577000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_ee9299d5-254f-4e2e-b41d-f156548f866a"
      unitRef="U_USD">185959000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_83dd03a1-c50b-4dc0-9545-b0346e6e6394"
      unitRef="U_USD">128291000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="2"
      id="F_aa67179f-606b-4ca7-b318-5cdfa3721f34"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.75</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="2"
      id="F_6f6a0abf-9bd8-43f5-9094-c88dd9761180"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">3.35</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="2"
      id="F_ecdfaca5-42d6-4794-8464-f0096a91f700"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">2.33</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="2"
      id="F_36c7d8aa-254c-44bd-8d46-e57f16e3e189"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.74</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="2"
      id="F_9191430d-5ea7-41d9-a71a-699f07cee474"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">3.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="2"
      id="F_d521f2b4-1763-4a4d-be60-62d00c3f7227"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">2.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="0"
      id="F_0dcf61d8-0ea6-4577-8b40-b69e61068c7e"
      unitRef="U_shares">55720</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="0"
      id="F_8f29cb39-0496-437e-8885-fbbac6d389f5"
      unitRef="U_shares">55460</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="0"
      id="F_946a285a-fc44-45cb-bc88-ba1ab5687c98"
      unitRef="U_shares">55015</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="0"
      id="F_7c3701ea-dfc0-4049-a5d6-943f4b80c2ce"
      unitRef="U_shares">56377</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="0"
      id="F_6d46df52-93d5-43f4-aad5-c9fa939d0af4"
      unitRef="U_shares">57455</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="0"
      id="F_99450212-6d03-4597-9fc7-7e98a6032089"
      unitRef="U_shares">57264</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_946e1469-b75a-4a0d-bc4f-82daa8fbc3c0"
      unitRef="U_USD">41577000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_5e8ca743-523c-4431-ad35-b0d1196ed57a"
      unitRef="U_USD">185959000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_3a78bccc-25b6-425d-b7c8-6d79f5f54075"
      unitRef="U_USD">128291000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_6f987e58-c676-437f-baee-ed647b624901"
      unitRef="U_USD">-3037000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_1c3ad389-b070-41dc-a7d5-e4883b7ffce5"
      unitRef="U_USD">-17508000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_2e48a7a7-2af2-4d51-b548-46581d307b6c"
      unitRef="U_USD">-18971000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_64e15fbc-c5cf-4fe2-af17-ae7e06b2db7e"
      unitRef="U_USD">38540000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_33493098-876e-4369-910d-8a4e7c8563bd"
      unitRef="U_USD">168451000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_200e8161-c9b9-4d7b-9525-d0152818eb32"
      unitRef="U_USD">109320000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="C_051050a2-02f3-4c31-b83a-ad7771e5b2b5"
      decimals="INF"
      id="F_f03ef8f0-3fa5-42bb-a533-f8bb5683e11c"
      unitRef="U_shares">54760837</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_051050a2-02f3-4c31-b83a-ad7771e5b2b5"
      decimals="-3"
      id="F_73d80ac1-4403-4236-8f1d-2d65f58b1802"
      unitRef="U_USD">548000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_0e0bd552-bcac-4012-9965-2bb9a4e1ed90"
      decimals="-3"
      id="F_7e646435-a8cb-458e-ad04-2a036f5189f2"
      unitRef="U_USD">1460748000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_b52c1b81-aa58-46b9-a15a-30bd2e555808"
      decimals="-3"
      id="F_b79628a0-5d6f-4c24-9b64-78351473457e"
      unitRef="U_USD">2085000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_f5589251-6303-456d-bfb0-5ae13f002dca"
      decimals="-3"
      id="F_6bc4ae90-3906-42a0-811e-4961c4ec639d"
      unitRef="U_USD">65769000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_f59feb09-1594-4f9b-b24f-dce4020f6e60"
      decimals="-3"
      id="F_870f6930-5057-4acc-b67c-e693a94cbe15"
      unitRef="U_USD">1529150000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="C_b1c6e29e-fc05-4e54-b465-6480be4b68f9"
      decimals="-3"
      id="F_d75d7b51-05e7-4809-bc2d-4ab9c1a21dfb"
      unitRef="U_USD">128291000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_3e033f30-061f-4ddd-a581-128e8d7af0b5"
      unitRef="U_USD">128291000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="C_949bc793-4b1e-4970-8dd2-7c4658280c01"
      decimals="INF"
      id="F_d8b8736b-e7d4-4845-84f7-3378503507f3"
      unitRef="U_shares">7</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="C_949bc793-4b1e-4970-8dd2-7c4658280c01"
      decimals="-3"
      id="F_97dfce5d-921e-4b71-aa9a-ac82442ade7a"
      unitRef="U_USD">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="C_57261171-043d-4a6d-adf8-cf4e5e8cdd09"
      decimals="-3"
      id="F_31f67fee-c0b9-43c5-af98-ff40d3e3abb5"
      unitRef="U_USD">2000</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_ea8ebbfc-1fe2-4744-912a-56374de316f5"
      unitRef="U_USD">2000</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="C_949bc793-4b1e-4970-8dd2-7c4658280c01"
      decimals="INF"
      id="F_5c13eeb0-215e-4573-b56a-4b30ad9ba515"
      unitRef="U_shares">300721</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_949bc793-4b1e-4970-8dd2-7c4658280c01"
      decimals="-3"
      id="F_34928a58-ea14-4d21-b3ab-1c1c41a506ff"
      unitRef="U_USD">3000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_57261171-043d-4a6d-adf8-cf4e5e8cdd09"
      decimals="-3"
      id="F_505045d3-23f0-4e71-8206-702dc3021df5"
      unitRef="U_USD">3876000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_ba3a6da4-da1a-4f58-b416-ac77fc1f8d6c"
      unitRef="U_USD">3879000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="C_b2d8b952-7fba-4c60-885e-ba7de124cef2"
      decimals="INF"
      id="F_a54a68cc-a14c-4b02-918f-088383e25f2e"
      unitRef="U_shares">271096</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_b2d8b952-7fba-4c60-885e-ba7de124cef2"
      decimals="-3"
      id="F_53866a09-4009-47dd-a7e8-ef3f331e491e"
      unitRef="U_USD">2000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_bb1ef129-3ecc-499b-99f2-c42e7b8646f3"
      decimals="-3"
      id="F_073f16a0-b57e-427c-afc2-05bc01bd596f"
      unitRef="U_USD">82966000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_f8ad70dd-d6b6-459c-bb62-1666ae84e439"
      decimals="-3"
      id="F_0890caf2-684e-48f7-be64-311a9becb8c1"
      unitRef="U_USD">82968000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="C_949bc793-4b1e-4970-8dd2-7c4658280c01"
      decimals="INF"
      id="F_d14beeb7-9ed9-42e6-8b7c-5533e98c3628"
      unitRef="U_shares">11204</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_949bc793-4b1e-4970-8dd2-7c4658280c01"
      decimals="-3"
      id="F_04aa9fe4-237b-45bb-b3ca-6655791b26db"
      unitRef="U_USD">0</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_57261171-043d-4a6d-adf8-cf4e5e8cdd09"
      decimals="-3"
      id="F_499386a2-dc48-44c8-814a-4824b92f8502"
      unitRef="U_USD">2897000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_dbda6f52-a8ff-482c-adc2-6dac36702793"
      unitRef="U_USD">2897000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_57261171-043d-4a6d-adf8-cf4e5e8cdd09"
      decimals="-3"
      id="F_3824e954-f25b-4439-8068-1e8a978bf898"
      unitRef="U_USD">27500000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_2e962a11-f171-44ce-b102-0f9cf71adb11"
      unitRef="U_USD">27500000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_15d94e6d-7075-447b-b770-80398d6a7556"
      decimals="-3"
      id="F_99cc31b9-2ab8-4ce5-af5f-77d5c2742941"
      unitRef="U_USD">145000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_773897c3-11b6-4fb5-a648-c26fd1e1a4a5"
      decimals="-3"
      id="F_ac25d9fd-03fa-4765-8f4a-d09ad3ce3611"
      unitRef="U_USD">145000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="C_56e66edb-469f-48ab-b8ce-0d631642ceeb"
      decimals="-3"
      id="F_0273fb00-e65e-444d-b358-96dbf083aa4f"
      unitRef="U_USD">-18971000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af"
      decimals="-3"
      id="F_878a8b24-cedb-4ae4-bccd-22bd41a5c84c"
      unitRef="U_USD">-18971000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="C_0fa4207c-bb1e-415c-8980-63f2a52c720f"
      decimals="INF"
      id="F_25c92304-349d-4917-9549-30dd2089e2d4"
      unitRef="U_shares">55321457</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_0fa4207c-bb1e-415c-8980-63f2a52c720f"
      decimals="-3"
      id="F_00cb40bc-9557-4bfb-a2f3-34df86c1f8c9"
      unitRef="U_USD">553000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_665dc070-267b-4a44-b0ca-efc6918f42df"
      decimals="-3"
      id="F_3e4e3cdf-9d5f-48ea-8d04-b8d7b3bd52be"
      unitRef="U_USD">1572340000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_56e66edb-469f-48ab-b8ce-0d631642ceeb"
      decimals="-3"
      id="F_f33d0fbd-71be-4d44-81de-857928826568"
      unitRef="U_USD">-16886000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_9db6d393-2562-41fa-8eb6-28e3776b9293"
      decimals="-3"
      id="F_6b3d163f-eab7-442d-b1ec-bfb5d432feca"
      unitRef="U_USD">194060000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af"
      decimals="-3"
      id="F_001e56dd-3d92-4b6a-adf4-f7b22fbce237"
      unitRef="U_USD">1750067000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="C_0c7acc8a-d233-46a8-ad54-ac82264bf1b7"
      decimals="-3"
      id="F_3beb4577-2ab2-4451-b21f-80dfb0b22402"
      unitRef="U_USD">185959000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_8a16daca-6910-43e0-bbe2-0b160b6edc85"
      unitRef="U_USD">185959000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="C_f897156f-7cee-4f32-9e8b-aea890a9a4ca"
      decimals="INF"
      id="F_4fe5fff5-fd08-4761-a2e0-7ee43b9a31be"
      unitRef="U_shares">21</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="C_f897156f-7cee-4f32-9e8b-aea890a9a4ca"
      decimals="-3"
      id="F_cd687f1d-0a35-4caa-99f8-76e443510c94"
      unitRef="U_USD">1000</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="C_3198d594-eada-4d09-8f2f-510d5cafcc74"
      decimals="-3"
      id="F_0a37bc22-55a2-44bf-8e69-5725064db51e"
      unitRef="U_USD">-7000</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_10821760-291b-4183-a4d7-365733732770"
      unitRef="U_USD">-6000</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="C_f897156f-7cee-4f32-9e8b-aea890a9a4ca"
      decimals="INF"
      id="F_e9a0cbee-6d63-494f-9d05-0ba23f512b32"
      unitRef="U_shares">326192</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_f897156f-7cee-4f32-9e8b-aea890a9a4ca"
      decimals="-3"
      id="F_a33e62ff-ecfe-4c11-a506-25aedc2e5e96"
      unitRef="U_USD">3000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_3198d594-eada-4d09-8f2f-510d5cafcc74"
      decimals="-3"
      id="F_4bf8ad7b-d532-489f-8022-a5f297c12e29"
      unitRef="U_USD">3704000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_ddff1e11-8fb8-4edc-9fb5-e188dea416d9"
      unitRef="U_USD">3707000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="C_f897156f-7cee-4f32-9e8b-aea890a9a4ca"
      decimals="INF"
      id="F_644e73f5-d49b-4f82-b031-db1e889bb7d2"
      unitRef="U_shares">89972</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_f897156f-7cee-4f32-9e8b-aea890a9a4ca"
      decimals="-3"
      id="F_202b98d4-3d36-4306-9fe3-5d23d180f793"
      unitRef="U_USD">1000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_3198d594-eada-4d09-8f2f-510d5cafcc74"
      decimals="-3"
      id="F_48580ffd-c5ab-46c6-a26b-169760e06a6f"
      unitRef="U_USD">17017000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_984bcada-8092-4ee1-8d41-4dd23acbadde"
      unitRef="U_USD">17018000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_3198d594-eada-4d09-8f2f-510d5cafcc74"
      decimals="-3"
      id="F_35d8811c-0be5-4e24-a8c2-091b10656323"
      unitRef="U_USD">27316000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_553fcb2e-93e4-4a7b-a2c3-55b12e936800"
      unitRef="U_USD">27316000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockholdersEquity
      contextRef="C_4a1e689c-1cf6-44d6-b7de-43b7a8b4f932"
      decimals="-3"
      id="F_dc45193d-9043-4af6-853d-b64c15207253"
      unitRef="U_USD">-39070000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_843d65d6-c3fc-4289-8c55-0e757f11dd06"
      decimals="-3"
      id="F_06c842a5-6b04-47e2-b8e3-4b7001bf091c"
      unitRef="U_USD">17253000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_2f79f48c-a6ef-4e8f-90f6-ded0197ac660"
      decimals="-3"
      id="F_4aadcd50-0d7f-4f59-83e9-d0b285a9132d"
      unitRef="U_USD">-21817000</us-gaap:StockholdersEquity>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="C_778e1d15-858c-4b3b-82ac-6fbd3ad387d6"
      decimals="-3"
      id="F_6e9459bc-1cb3-4296-a7df-fdc333387bbc"
      unitRef="U_USD">-17508000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_8871b15a-09a3-4ec1-9b42-19eb77738c9e"
      unitRef="U_USD">-17508000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="C_55f30178-b54f-4159-b1b4-48d6637edd84"
      decimals="INF"
      id="F_ec307122-db37-4327-973f-1b24f94b34bb"
      unitRef="U_shares">55557698</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_55f30178-b54f-4159-b1b4-48d6637edd84"
      decimals="-3"
      id="F_4f998a1f-cc1d-48b4-8796-86174e88cd4c"
      unitRef="U_USD">556000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_2b8c7925-9c0b-4ad8-9557-e3d830b96613"
      decimals="-3"
      id="F_d6100c60-fedb-48f3-85d9-f92f3aad61b2"
      unitRef="U_USD">1547266000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_778e1d15-858c-4b3b-82ac-6fbd3ad387d6"
      decimals="-3"
      id="F_9326a7f9-714c-4503-8c71-04e0159bcf08"
      unitRef="U_USD">-34394000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_ef6d10bd-1d94-4091-bb07-caade3c1ab18"
      decimals="-3"
      id="F_c75b77e9-f825-42fd-bf4d-8a4e487f880f"
      unitRef="U_USD">397272000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_ed390501-8257-4aa1-84f1-766ffb20c3b4"
      unitRef="U_USD">1910700000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="C_fc09c87f-3b2c-4ae1-a049-b2a83a1fa06f"
      decimals="-3"
      id="F_8df5f9c1-26c0-4616-b1ac-efac71992931"
      unitRef="U_USD">41577000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_8519bfb0-5853-4b42-a2d4-f35d53367afb"
      unitRef="U_USD">41577000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5"
      decimals="INF"
      id="F_74667693-fc93-41e1-b88b-ffcb6c8ea75f"
      unitRef="U_shares">8</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5"
      decimals="-3"
      id="F_e94c9890-fe0f-4aa3-98ea-11db808ac89e"
      unitRef="U_USD">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="C_a881087b-1778-4ff1-8f7d-f854d11d166f"
      decimals="-3"
      id="F_d7031a69-63d7-4b7a-bfca-dc7116a8995a"
      unitRef="U_USD">-13000</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_33cd39d0-f5de-4f5f-9343-9f0a26df6fd4"
      unitRef="U_USD">-13000</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5"
      decimals="INF"
      id="F_a2936eb2-06c7-41e2-b797-8166694ff70c"
      unitRef="U_shares">251886</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5"
      decimals="-3"
      id="F_7d6db520-633b-4bec-8d35-3f766e8ce3a5"
      unitRef="U_USD">3000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_a881087b-1778-4ff1-8f7d-f854d11d166f"
      decimals="-3"
      id="F_e5c94da0-3446-4c8a-9f13-13343b70cd91"
      unitRef="U_USD">1073000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_311cbd11-c712-48dd-b773-d7273dcca906"
      unitRef="U_USD">1076000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5"
      decimals="INF"
      id="F_fd519bbc-744b-4ff0-b561-2f56628cdc48"
      unitRef="U_shares">-92090</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5"
      decimals="-3"
      id="F_9236b397-0f4c-4e7e-af20-aae7db54b303"
      unitRef="U_USD">1000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="C_a881087b-1778-4ff1-8f7d-f854d11d166f"
      decimals="-3"
      id="F_eca957ce-25ec-4996-9eb0-a4009ead8d71"
      unitRef="U_USD">14385000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_69860ee5-ae27-4520-a1a4-e0a3f2e35183"
      unitRef="U_USD">14386000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5"
      decimals="INF"
      id="F_c5922204-2f13-4f7e-bbc7-858fcc18a75c"
      unitRef="U_shares">77759</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5"
      decimals="-3"
      id="F_eeabfb4f-7a11-4e63-8e48-bdb6882e96ee"
      unitRef="U_USD">1000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_a881087b-1778-4ff1-8f7d-f854d11d166f"
      decimals="-3"
      id="F_b9621bd3-3304-4673-b451-def92688ce9f"
      unitRef="U_USD">13226000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_3f0105dc-5be2-4309-a328-18c00f88f72d"
      unitRef="U_USD">13227000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="C_eed78df6-712a-432e-bd6f-f80788220c16"
      decimals="INF"
      id="F_bed3f0cb-3d6e-4709-aa6a-c70e3221e564"
      unitRef="U_shares">31415</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_eed78df6-712a-432e-bd6f-f80788220c16"
      decimals="-3"
      id="F_d98fb4ef-bb77-4122-9bb6-492921ae7278"
      unitRef="U_USD">0</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_ba3f9c5d-4511-4968-9eeb-d6348fadf492"
      decimals="-3"
      id="F_985f2ba0-9ac3-4d7a-aa22-639c421690fc"
      unitRef="U_USD">5465000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_ca77aac6-1dd3-4cdc-9e35-19da5b52b9c0"
      decimals="-3"
      id="F_3c8a3ae4-00a0-4548-be1b-4ed0bfc763e0"
      unitRef="U_USD">5465000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="C_1f4e6754-54ee-4ac5-bcdf-6ee2f3734b0c"
      decimals="INF"
      id="F_8c4918a0-4511-498b-9220-d3d920db74d5"
      unitRef="U_shares">52299</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_1f4e6754-54ee-4ac5-bcdf-6ee2f3734b0c"
      decimals="-3"
      id="F_0c80623b-7b42-428d-b307-0e2bc8ad8ac3"
      unitRef="U_USD">1000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_58feedab-dc67-441a-b45a-d499035a726c"
      decimals="-3"
      id="F_b2b3339c-579e-413f-bb36-8ca525632857"
      unitRef="U_USD">8103000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_4016e51f-a392-49c5-9c26-e9ddedab261e"
      decimals="-3"
      id="F_4896a20f-7e29-4ff9-8adf-5dbb47d7b739"
      unitRef="U_USD">8104000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <rgen:StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments
      contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5"
      decimals="INF"
      id="F_6135234e-a699-4b83-af63-ec60a4218109"
      unitRef="U_shares">42621</rgen:StockIssuedDuringPeriodSharesContingentConsiderationEarnoutPayments>
    <rgen:StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment
      contextRef="C_135574b0-08dc-4456-b091-456f1c9e4bf5"
      decimals="-3"
      id="F_7bfaf079-a21b-4cd1-9ac4-1caf59ed778b"
      unitRef="U_USD">0</rgen:StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment>
    <rgen:StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment
      contextRef="C_a881087b-1778-4ff1-8f7d-f854d11d166f"
      decimals="-3"
      id="F_ee52c6a7-e766-40fc-a882-d81c5ae7a96d"
      unitRef="U_USD">7229000</rgen:StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment>
    <rgen:StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_931d035c-f691-4a2a-8bce-1fc8b0765d68"
      unitRef="U_USD">7229000</rgen:StockIssuedDuringPeriodValueContingentConsiderationEarnoutPayment>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_a881087b-1778-4ff1-8f7d-f854d11d166f"
      decimals="-3"
      id="F_5e66e965-cf86-4243-a409-c326737e2dbf"
      unitRef="U_USD">25575000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_bd49458d-e8db-472d-b775-ee3af7bbfcb2"
      unitRef="U_USD">25575000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="C_a881087b-1778-4ff1-8f7d-f854d11d166f"
      decimals="-3"
      id="F_84ceb857-9946-4ee4-91a8-f793b0f52f55"
      unitRef="U_USD">2791000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_025c3039-7a85-4da5-bad4-dcb7804a160a"
      unitRef="U_USD">2791000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <rgen:DeferredTaxImpactOnConversionFeature
      contextRef="C_a881087b-1778-4ff1-8f7d-f854d11d166f"
      decimals="-3"
      id="F_461ab9a8-4870-457b-927f-364befeee9d4"
      unitRef="U_USD">-651000</rgen:DeferredTaxImpactOnConversionFeature>
    <rgen:DeferredTaxImpactOnConversionFeature
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_9b6f3c8f-3f6b-4461-9bf3-3234547a3f19"
      unitRef="U_USD">-651000</rgen:DeferredTaxImpactOnConversionFeature>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="C_add2d159-3797-4e29-89a2-b3ec15fb387a"
      decimals="-3"
      id="F_5b0bf9aa-bf13-4dca-9ef9-4e6cc21e6191"
      unitRef="U_USD">-3037000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_4cac25df-c051-4d05-9b91-ef664adb98e6"
      unitRef="U_USD">-3037000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="C_b8d7f7de-d986-4719-b42a-741c446186e7"
      decimals="INF"
      id="F_1b0fae67-e27a-44fb-a304-e3ec10d99291"
      unitRef="U_shares">55766078</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_b8d7f7de-d986-4719-b42a-741c446186e7"
      decimals="-3"
      id="F_520d738f-6b66-4008-bdb7-36d1dff9ac9e"
      unitRef="U_USD">558000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_fa4baece-c5b3-4da0-b25a-3a53da2cd13e"
      decimals="-3"
      id="F_52a7a96f-5430-48e1-8b87-0d7a8d33bab6"
      unitRef="U_USD">1569227000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_add2d159-3797-4e29-89a2-b3ec15fb387a"
      decimals="-3"
      id="F_dfd680dc-c1e2-456e-9dee-2ca64766d7dd"
      unitRef="U_USD">-37431000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_a3f98b1d-782b-4a8c-bf53-5e7ceadda17e"
      decimals="-3"
      id="F_297f0504-bc6e-4218-b83c-8334fc91261c"
      unitRef="U_USD">438849000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_64bb016f-ea1e-4c18-8b38-9fd93c9199b7"
      unitRef="U_USD">1971203000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_7c99eb54-8f8f-4e31-9bdf-672661023b1a"
      unitRef="U_USD">41577000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_9f704088-477d-40bf-b21b-e5b16140d4b6"
      unitRef="U_USD">185959000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_42bf565e-4d7e-4679-b813-91e023319d77"
      unitRef="U_USD">128291000</us-gaap:NetIncomeLoss>
    <rgen:AmortizationOfInventoryStepUp
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_3809c394-720a-4bec-91cb-81ef42535787"
      unitRef="U_USD">1238000</rgen:AmortizationOfInventoryStepUp>
    <rgen:AmortizationOfInventoryStepUp
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_f5534505-a6b1-476c-be36-255e5a760168"
      unitRef="U_USD">0</rgen:AmortizationOfInventoryStepUp>
    <rgen:AmortizationOfInventoryStepUp
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_6e2346de-cbf1-41c3-83f0-766962d7e7dd"
      unitRef="U_USD">2130000</rgen:AmortizationOfInventoryStepUp>
    <us-gaap:DepreciationAndAmortization
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_ac267d67-e6ba-4d5e-951b-14ddb92ffd37"
      unitRef="U_USD">68085000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_97091598-3017-4050-891e-1535b3fd3886"
      unitRef="U_USD">50985000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_2bc9261d-488f-4b2d-8532-827101ab1238"
      unitRef="U_USD">38447000</us-gaap:DepreciationAndAmortization>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_d950573e-07c7-4615-8526-9f10f1bf4a83"
      unitRef="U_USD">2448000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_c7f031d7-e337-46cf-8aad-bc666fd54db4"
      unitRef="U_USD">1815000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_1da06056-1da5-401a-a3fd-715b13966f86"
      unitRef="U_USD">11530000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:ShareBasedCompensation
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_8da35b06-3c1c-4528-9a45-403a5ffcf18c"
      unitRef="U_USD">25575000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_00651500-2b1d-41e4-a027-afd0149130a6"
      unitRef="U_USD">27316000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_3302e85a-50c3-4cae-97d9-f6b65e0786ac"
      unitRef="U_USD">27500000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_73287e72-df5d-473b-9a5b-19f67467b0fa"
      unitRef="U_USD">2317000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_7746d797-2c54-4771-a81b-f28557517675"
      unitRef="U_USD">-1352000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_ca2ce9e8-9e3e-4d05-b706-e02da66ce354"
      unitRef="U_USD">6517000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_942f61e8-7c68-48b5-812f-de1a66b70514"
      unitRef="U_USD">-30569000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_b9f9671f-b4a3-4452-9019-d7fb13532a57"
      unitRef="U_USD">-28729000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_b07a5964-b40a-46c4-a8ee-74879172fd00"
      unitRef="U_USD">5865000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <rgen:NoncashInterestIncome
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_3f6a2ac9-3ae5-4f06-8405-c80b71a01f9c"
      unitRef="U_USD">2023000</rgen:NoncashInterestIncome>
    <rgen:NoncashInterestIncome
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_03b73819-341e-4475-a04f-73cf7f55a651"
      unitRef="U_USD">0</rgen:NoncashInterestIncome>
    <rgen:NoncashInterestIncome
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_9d99c1f0-2ffa-42e2-99c6-bec469a5f361"
      unitRef="U_USD">0</rgen:NoncashInterestIncome>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_050485e6-52f5-4e62-b417-9c427f841f45"
      unitRef="U_USD">-12676000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_e9c180c8-2a95-4cd0-9010-d95d737451c0"
      unitRef="U_USD">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_47c801ae-3b55-48af-b398-235864bb093d"
      unitRef="U_USD">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_ca67fbe6-23c7-4416-a48a-e2fe1dbba472"
      unitRef="U_USD">-1231000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_389408d7-b130-47c2-9c4c-3a2e0e74f2a2"
      unitRef="U_USD">100000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_4b602229-a2ce-45af-8a5f-ffee3b91cf26"
      unitRef="U_USD">-864000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_a2f603a6-d6b4-4e92-b19f-8d0181c9e906"
      unitRef="U_USD">3312000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_0c1973a6-ed44-48c7-889a-c7e5dc384f5c"
      unitRef="U_USD">3596000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_ae51ee3d-f554-4a6c-a75d-c53c176ade9b"
      unitRef="U_USD">46523000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_b0336822-715b-4526-9b90-fc3db34eff3c"
      unitRef="U_USD">-40973000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_5cece0c4-b678-4759-917d-fdffa82c1edd"
      unitRef="U_USD">57204000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_5d1ad910-8ed0-4d39-939b-4a17bbe028f4"
      unitRef="U_USD">89781000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_0a5293d9-e9e1-4091-a8ba-e338c11de260"
      unitRef="U_USD">13030000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_51e13dea-a3b8-415a-b45e-a22b21ec0ab5"
      unitRef="U_USD">-2396000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_91250cf1-7e96-4372-8e7c-5a53527e4c3c"
      unitRef="U_USD">10192000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_0b8075ba-4f2b-4198-95ed-a450403de051"
      unitRef="U_USD">-14059000</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_aac8ad42-9f63-4e9f-b57a-f0d1248c63da"
      unitRef="U_USD">24549000</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_62e18ffe-2744-40c1-a08e-037151e28e51"
      unitRef="U_USD">4315000</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_b6d74cfc-bc34-4bda-8141-67a754ebd620"
      unitRef="U_USD">461000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_f8b5eea3-7006-4d7b-b9f9-80657eb48995"
      unitRef="U_USD">231000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_cb81cc81-ec0b-49d5-989d-a2cb869e3429"
      unitRef="U_USD">-430000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_ebe3f4ad-837a-49cf-9bee-5d4da82d28ae"
      unitRef="U_USD">-9803000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_d28afebd-87e5-47ff-bdb1-c7b71f665ea3"
      unitRef="U_USD">-8197000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_08367d7b-dc58-4d80-811e-b77c119f88db"
      unitRef="U_USD">19523000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_8f9400b4-ab8e-4af1-a29f-8f2b81c0610c"
      unitRef="U_USD">-27921000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_3cce8061-4cd5-4b16-8c62-fc2e9b90e891"
      unitRef="U_USD">-2019000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_daec734f-059e-418e-9233-299651c38917"
      unitRef="U_USD">23196000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_ed6ddc3f-9c32-43fd-9ca2-b6df98b1504f"
      unitRef="U_USD">-9229000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_b5737d48-9b7b-4ef3-bcf1-b81b5ea8e358"
      unitRef="U_USD">28623000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_e9234477-c6ff-49ed-8f4b-584fde5a69bb"
      unitRef="U_USD">6958000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_c32e2ebb-912f-46f7-9a21-496e77fff644"
      unitRef="U_USD">87000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_6486f776-f7f0-4784-b4dc-d7fedab552a6"
      unitRef="U_USD">966000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_70d97c29-49a2-46c3-973a-d37177f763a3"
      unitRef="U_USD">-1424000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_ba2d6197-9239-4e6f-a96f-2779dd8a934d"
      unitRef="U_USD">113918000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_74f6143f-1c5e-422d-8c41-818fff1c1e79"
      unitRef="U_USD">172083000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_0a6c39e6-0419-4f2f-b88e-04c5058470ea"
      unitRef="U_USD">119016000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireHeldToMaturitySecurities
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_34b98992-dd16-431f-b485-1d25c7b4cb7e"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireHeldToMaturitySecurities>
    <us-gaap:PaymentsToAcquireHeldToMaturitySecurities
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_a6c1d4fb-12df-4d3d-a822-4b9b112adec3"
      unitRef="U_USD">100000000</us-gaap:PaymentsToAcquireHeldToMaturitySecurities>
    <us-gaap:PaymentsToAcquireHeldToMaturitySecurities
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_709b6eaf-ddcb-4845-8e13-8bf9ef2ce9ea"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireHeldToMaturitySecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_ac00d70c-75e9-4570-9527-2d0d99fdb1e8"
      unitRef="U_USD">102323000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_c8e16e55-a59b-492e-93ee-031550fccde8"
      unitRef="U_USD">0</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_41954826-02c7-42e0-afc4-d76661a2ad57"
      unitRef="U_USD">0</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:PaymentsToAcquireSoftware
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_002b4b98-85ac-498c-80bf-61d913a8fed6"
      unitRef="U_USD">2766000</us-gaap:PaymentsToAcquireSoftware>
    <us-gaap:PaymentsToAcquireSoftware
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_d65e7627-3d1f-43fc-9673-3849ff6553f8"
      unitRef="U_USD">3512000</us-gaap:PaymentsToAcquireSoftware>
    <us-gaap:PaymentsToAcquireSoftware
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_0bca5827-735c-41c6-84c9-6f05294c03c9"
      unitRef="U_USD">4187000</us-gaap:PaymentsToAcquireSoftware>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_ee6f16fd-86c0-4888-b61c-0259949b8971"
      unitRef="U_USD">186642000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_57d1e8e1-14f4-41f0-9541-49c18c376e05"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_735b1d2d-7db9-4c92-ba34-d74bb5aa5288"
      unitRef="U_USD">149893000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_b49fd30a-0679-4c50-bcf8-049751a71c93"
      unitRef="U_USD">36222000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_33778878-0297-4555-8585-5380be7bbb9e"
      unitRef="U_USD">84834000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_fbcd0f47-1de4-416b-8598-7e08f422306e"
      unitRef="U_USD">67089000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_7d510ea5-f606-44a3-a68e-a7008944a596"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_80d7aef9-3a77-43bc-99bd-fd6390853e6f"
      unitRef="U_USD">45000000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_ac62c552-1b18-4686-a6fe-8c7735330b98"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_2dd72f6f-910b-4f57-b865-709d7c9ddf61"
      unitRef="U_USD">-32000</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_7275a0e2-abe0-401f-8433-409e42029150"
      unitRef="U_USD">-110000</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_a7f5e902-c09e-4830-9493-a246f378ad01"
      unitRef="U_USD">0</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_302df3fd-2e4c-4e35-aa0e-765c19988157"
      unitRef="U_USD">-123275000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_3c1e34d9-eef0-4225-a0e8-5caf373242c1"
      unitRef="U_USD">-233236000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_5371d973-a5fb-41b9-9bc7-116c36a08aa5"
      unitRef="U_USD">-221169000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_9af67b29-9e0b-4ae2-b9da-228406f1c9fc"
      unitRef="U_USD">14386000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_0870cda1-f443-4b5c-9692-62392e4f0401"
      unitRef="U_USD">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_df21b056-574c-4f6c-8fb5-659fb117d326"
      unitRef="U_USD">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_7643d44e-180b-43fb-9be8-722f9937bdf2"
      unitRef="U_USD">290094000</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_8e42ac7f-3ca8-4ef2-bc38-8cb41c88a1af"
      unitRef="U_USD">0</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_f765fe86-f299-427c-9425-6d9f613153bd"
      unitRef="U_USD">0</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_d45aae35-93a5-440c-a3a8-625860be4125"
      unitRef="U_USD">1076000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_1325ef53-4b95-4686-8901-080f5e677dca"
      unitRef="U_USD">3707000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_b100fd65-a656-4eec-986b-4948ea9a7dc3"
      unitRef="U_USD">3879000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_7e7f2e08-371f-4209-a25a-ca58b2a6dc67"
      unitRef="U_USD">7253000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_d629257a-0e51-44c9-82dd-b79948335c98"
      unitRef="U_USD">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_b0710834-d9d8-4a37-81d9-148b9e2e89bc"
      unitRef="U_USD">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_a88313bc-b049-4576-9534-6fc2645d6dfd"
      unitRef="U_USD">13227000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_bccb6d0b-2dbe-4808-80b2-e81c0423a6f1"
      unitRef="U_USD">17018000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_9a6c228c-8050-47d8-ac40-2c6eef09f248"
      unitRef="U_USD">2897000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_b0ba2727-9441-4a54-8a39-94c392ded3f4"
      unitRef="U_USD">7298000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_9f0c0b74-802e-4128-ae5d-968ac35cd5bf"
      unitRef="U_USD">0</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_89ded411-e95e-48d7-99a9-14c2d4bd990a"
      unitRef="U_USD">0</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_cbbdca1f-c75e-40d1-b68a-0d8b4cdb1934"
      unitRef="U_USD">-45000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_a204a7a0-6098-4d3b-a5c6-ba7d38d9bd1c"
      unitRef="U_USD">-26000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_a15b39e0-4f95-43cc-9684-c15771178a97"
      unitRef="U_USD">-21000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_89c9d7e2-0ec0-4e85-a8ce-31673b825580"
      unitRef="U_USD">248961000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_24fa5f56-2309-407f-ab5e-08ac427f0d62"
      unitRef="U_USD">-13337000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_3acda657-4656-4d5e-8e07-c6c9467083a8"
      unitRef="U_USD">961000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_9f2990ab-1d9f-40ff-b9ef-aac34740517c"
      unitRef="U_USD">-11739000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_efcbaef2-3e65-401f-966e-2fd2a63e7196"
      unitRef="U_USD">-5866000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_05b3a958-d295-4566-aa94-198cb3cde378"
      unitRef="U_USD">-12286000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_fb5e5ace-018c-4027-b279-22533569fa02"
      unitRef="U_USD">227865000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_aeec4016-fe17-46a9-9ef1-ea3a5cbb9f9a"
      unitRef="U_USD">-80356000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_e6dc27d6-7704-4a09-a51c-4382154b6c40"
      unitRef="U_USD">-113478000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_3a129151-31f1-4931-a39f-a059a6fa45e7"
      unitRef="U_USD">523458000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af"
      decimals="-3"
      id="F_b0c92dec-d3ee-41d1-8d0d-f7b1daccb498"
      unitRef="U_USD">603814000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_f59feb09-1594-4f9b-b24f-dce4020f6e60"
      decimals="-3"
      id="F_88879b25-7f8b-4a8e-9fe1-86743496f23f"
      unitRef="U_USD">717292000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_67d1ee7c-d4f3-405c-ac39-4b6b12dcc8c3"
      unitRef="U_USD">751323000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_86b20c7c-9440-4cc5-b2bf-9e6292ae67cd"
      unitRef="U_USD">523458000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af"
      decimals="-3"
      id="F_1203c989-fcca-41ef-8220-02e85762c024"
      unitRef="U_USD">603814000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_296060f9-c676-4d5a-9afc-2c05092240a5"
      unitRef="U_USD">26963000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_8ad4de80-1297-4d70-af75-d4f158aa90a6"
      unitRef="U_USD">34365000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_67682d09-2203-45bc-b702-3bc8ca542321"
      unitRef="U_USD">16515000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_e5cec633-9653-47b6-8fb2-cb63318a656e"
      unitRef="U_USD">988000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_3c7697cc-e2cf-43cd-ba21-44b2eb42c858"
      unitRef="U_USD">1033000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_0078bec0-82fd-4f99-9866-66ec9d2a8dd3"
      unitRef="U_USD">1066000</us-gaap:InterestPaidNet>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_6bd6adba-a8b0-4281-b2e0-a09e9537fc5a"
      unitRef="U_USD">4335000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_6258eecb-e665-4d08-847a-c23e36622bad"
      unitRef="U_USD">29126000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_5276e335-675b-4e8f-8b2c-e187a66e42ce"
      unitRef="U_USD">85312000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:StockIssued1
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_78b3a2c0-3113-42d2-b9f8-4314cc8092c9"
      unitRef="U_USD">13569000</us-gaap:StockIssued1>
    <us-gaap:StockIssued1
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_4292e81f-d1eb-48a3-878a-f6bec6b5fb00"
      unitRef="U_USD">0</us-gaap:StockIssued1>
    <us-gaap:StockIssued1
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_ef607144-bf99-48e1-a382-17a055876581"
      unitRef="U_USD">82968000</us-gaap:StockIssued1>
    <rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_c840bb68-9df9-49ab-b348-1d7461603858"
      unitRef="U_USD">7229000</rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts>
    <rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_77220336-16a5-4742-80fa-a4ede8913e69"
      unitRef="U_USD">0</rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts>
    <rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_1a8309e8-ba7a-49b3-a6fd-f8691cb4ca88"
      unitRef="U_USD">0</rgen:FairValueOfSharesOfCommonStockIssuedForContingentConsiderationEarnouts>
    <rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_5acfc73e-82d7-428d-a8f2-538a67e0b1e1"
      unitRef="U_USD">6640000</rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts>
    <rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_2b0d25fd-fe99-43ba-b284-06a8899d23b2"
      unitRef="U_USD">0</rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts>
    <rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_9e433cbf-f124-400d-b274-92f6f746a1c1"
      unitRef="U_USD">88373000</rgen:AcquisitionDateFairValueOfContingentConsiderationEarnouts>
    <us-gaap:NotesIssued1
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_23750adf-28f6-4e3a-aaf6-df2e2053bcce"
      unitRef="U_USD">42179000</us-gaap:NotesIssued1>
    <us-gaap:NotesIssued1
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_b13cb4a3-9ff2-4d01-8b7e-9ebccb89b992"
      unitRef="U_USD">0</us-gaap:NotesIssued1>
    <us-gaap:NotesIssued1
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_e37709a9-9285-459c-83d5-112ba7cea16a"
      unitRef="U_USD">0</us-gaap:NotesIssued1>
    <us-gaap:ExtinguishmentOfDebtAmount
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_58699fff-8324-4572-ac15-c8b7cb9f1bb4"
      unitRef="U_USD">29634000</us-gaap:ExtinguishmentOfDebtAmount>
    <us-gaap:ExtinguishmentOfDebtAmount
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_ffcc24ab-aeb6-4d50-922a-8bee2009ca56"
      unitRef="U_USD">0</us-gaap:ExtinguishmentOfDebtAmount>
    <us-gaap:ExtinguishmentOfDebtAmount
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_4f478728-bdf9-45f9-b6fd-d23f63952f5f"
      unitRef="U_USD">0</us-gaap:ExtinguishmentOfDebtAmount>
    <us-gaap:NatureOfOperations
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_67c2a723-ed16-4c9c-95d2-fc70499b52d7">&lt;div style="display:flex;margin-top:12pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;"&gt;1.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Organization and Nature of Business &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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, chromatography, process analytics and proteins. See Part I, Item 1. &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Business - Our Products&#x201d;, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;of this report for additional information related to the Company's products. 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;), its Chief Executive Officer (&#x201c;CEO&#x201d;), reviews financial information presented on a consolidated basis for purposes of allocating resources and evaluating financial performance. See Note 2, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Summary of Significant Accounting Policies &#x2013; Segment Reporting,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;for more information on the Company&#x2019;s segment.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A majority of our &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; manufacturing sites are located in the United States (California, Massachusetts, New Hampshire, New Jersey, New York and Texas). Outside the United States, we have manufacturing sites in Estonia, France, Germany, Ireland, the Netherlands and Sweden.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 U.S. Food and Drug Association 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</us-gaap:NatureOfOperations>
    <rgen:NumberOfManufacturingSites
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="INF"
      id="F_134e78d8-b528-447f-a82b-203180bcc3cc"
      unitRef="U_Sites">19</rgen:NumberOfManufacturingSites>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_60788f5c-a099-4533-a6bc-756a6d29a648">&lt;div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;"&gt;2.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Summary of Significant Accounting Policies &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Use of Estimates&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The preparation of financial statements in conformity with accounting principles generally accepted in the United States 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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, contingent consideration, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, estimates related to the fair value of the conversion features of the convertible notes for purposes of assessing whether debt extinguishment or modification accounting applies to the Company&#x2019;s debt exchange, stock-based compensation, tax reserves and recoverability of the Company&#x2019;s net deferred tax assets and related valuation allowance.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Basis of Presentation&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All significant intercompany accounts and transactions have been eliminated in consolidation. Certain prior year balances have changed to reflect current year presentation.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Foreign Currency&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 include adjustments related to the Company&#x2019;s various intercompany loans with foreign subsidiaries. Intercompany loans determined to be permanent are remeasured at each period end and included in accumulated other comprehensive loss on the consolidated balance sheets. Intercompany loans with foreign subsidiaries determined to be repayable are remeasured at each period end and included in other income (expenses) on the consolidated statements of comprehensive income.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Revenue Recognition&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 sciences and biopharmaceutical industries. Under Accounting Standard Codification No. (&#x201c;ASC&#x201d;) 606, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Revenue from Contracts with Customers,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 606-10-32-18, 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 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Risks and Uncertainties&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Cash, Cash Equivalents and Restricted Cash&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 31, 2023 and 2022.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;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 31, 2023, 2022 and 2021&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;603.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Investment Securities&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;We classify our investment securities in one of three categories: held to maturity, trading, or available for sale. Our investment portfolio at December 31, 2022 consisted of an investment in U.S. treasury bills classified as held to maturity which was included in the Company's consolidated balance sheets under marketable securities held to maturity. These marketable securities matured in June 2023 and there are no comparable investments as of December 31, 2023. Securities that we have the positive intent and ability to hold to maturity are classified as held to maturity and stated at amortized cost in the consolidated balance sheets. Management determines the appropriate classification of securities at the time of purchase based upon management's intent with regards to such investment and reevaluates such designation as of each balance sheet date. The Company's investment policy requires that it only invest in high-rated securities and limit its exposure to any single-user. There were no realized or unrealized gains or losses on investments recorded as of December 31, 2023, 2022 and 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company classifies marketable securities as short-term when they have remaining contractual maturities of one year or less from the balance sheet date. The Company periodically assesses its marketable securities, if any, for impairment or credit losses.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Fair Value Measurement&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:8.08%;"&gt;&lt;/td&gt;
        &lt;td style="width:91.92%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Level 1  &#x2013;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:5pt;vertical-align:bottom;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that the Company has the ability to access.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:5pt;vertical-align:middle;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Level 2  &#x2013;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:5pt;vertical-align:bottom;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:5pt;vertical-align:middle;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Level 3  &#x2013;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:5pt;vertical-align:bottom;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Valuations based on inputs that are unobservable and significant to the overall fair value measurement.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Allowance for credit losses&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Inventories&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Inventories relate to the Company&#x2019;s bioprocessing business. The Company values inventory at cost or, if lower, net realizable value, using the first-in, first-out 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, work-in-process and finished products. The Company writes 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.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 consolidated financial statements, there have been no material adjustments related to a revised estimate of inventory valuations.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Work-in-process and finished products inventories consist of material, labor, outside processing costs and manufacturing overhead.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Lease Accounting&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company adopted Accounting Standards Update No. (&#x201c;ASU&#x201d;) 2016-02, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Leases (Topic 842)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x201d; (&#x201c;ASC 842&#x201d;) as of January 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 right-of-use asset and liability on its consolidated balance sheets 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;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A lease qualifies as a finance lease if any of the following criteria are met at the inception of the lease: (i) there is a transfer of ownership of the leased asset to the Company by the end of the lease term, (ii) the Company holds an option to purchase the leased asset that it is reasonably certain to exercise, (iii) the lease term is for a major part of the remaining economic life of the leased asset, (iv) the present value of the sum of lease payments equals or exceeds substantially all of the fair value of the leased asset, or (v) 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;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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) a portion that is recorded as imputed interest expense and (ii) a portion that reduces the finance liability associated with the lease.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company does not separate lease and non-lease 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;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 sheets.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 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 certain 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Accrued Liabilities&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 consolidated financial statements.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Income Taxes&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Deferred taxes are determined based on the difference between the consolidated financial statements 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 &#x201c;more-likely-than-not&#x201d; 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. The Company is subject to a territorial tax system under the Tax Cuts and Jobs Act enacted in December 2017, in which the Company is required to provide for tax on Global Intangible Low-Taxed 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;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Property, Plant &amp;amp; Equipment&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Property, plant &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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:45.7%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:53.3%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Classification&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated Useful Life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Buildings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Thirty years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Leasehold improvements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_833e71a6-5eeb-49e0-a78c-32c503c839cf;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Shorter of the term of the lease or estimated useful life&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_5228bde0-a8f9-4d0e-8b0f-d7ad6cd002e0;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;twelve years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Furniture, fixtures and office equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_f687d5a1-4081-4400-8f1a-6ce4fa87b8cf;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;eight years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Computer hardware and software&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_254e1113-308c-468a-ae2c-284636e490d3;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;seven years&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;or estimated useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vehicles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Five years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Upon disposal of property, plant &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;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Earnings Per Share&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company reports earnings per share (&#x201c;EPS&#x201d;) in accordance with ASC 260, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;"Earnings Per Share," &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;which establishes standards for computing and presenting EPS. Basic EPS is computed by dividing net income available to common shareholders by the weighted average number of common shares outstanding during the period. Diluted EPS is computed by dividing net income available to common shareholders by the weighted-average number of common shares and dilutive common share equivalents outstanding during the period. Potential common share equivalents consist of restricted stock awards (including performance stock units) and the incremental common shares issuable upon the exercise of stock options and warrants. Under the treasury stock method, unexercised &#x201c;in-the-money&#x201d; 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;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A reconciliation of basic and diluted weighted average share outstanding is as follows:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:57.477%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands, except per share data)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Numerator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;185,959&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;128,291&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;Charges associated with convertible debt instruments, net of tax&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;387&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;186,346&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;128,291&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Denominator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Weighted average shares used in computing net income per&lt;br/&gt;&#160;&#160;&#160;share - basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,720&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,460&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,015&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Effect of dilutive shares:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options and stock units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;457&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;608&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;915&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Convertible senior notes&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,360&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,253&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Dilutive effect of unvested performance stock units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Dilutive potential common shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;657&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,995&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,249&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;57,455&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;57,264&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:5pt;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnings per share:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.75&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.35&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.33&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Represents the dilutive impact for the Company's &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.375&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% Convertible Senior Notes due 2024 (the &#x201c; 2019 Notes&#x201d;) and its &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.00&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% Convertible Senior Notes due 2028 (the &#x201c;2023 Notes&#x201d;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 14, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Senior Notes,&#x201d;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; for more information.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;For the years ended December 31, 2023, 2022 and 2021, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;306,849&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;177,318&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;"&gt;68,968&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares, respectively, 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 for years presented.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In July 2019, the Company issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of its 2019 Notes. As provided by the terms of the indenture underlying the 2019 Notes, prior to March 4, 2022, conversion of the 2019 Notes could have been settled in cash, shares of the Company&#x2019;s common stock or a combination thereof, at the Company&#x2019;s election. On March 4, 2022, we entered into the Second Supplemental Indenture for the 2019 Notes, which irrevocably elected to settle the conversion of the 2019 Notes using a combination of cash and shares of the Company's common stock, settling the par value of the 2019 Notes in cash and any excess conversion premium in shares. On December 14, 2023, the Company exchanged, in a privately negotiated exchange, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;309.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million principal amount of 2023 Notes for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;217.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million principal amount of 2019 Notes and issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount  of 2023 Notes for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in cash. Following the close of the Exchange Transaction, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in aggregate principal amount of 2019 Notes remains outstanding with terms unchanged.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;As provided by the terms of the Second Supplemental Indenture underlying the 2019 Notes, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock. This means the Company will settle the par value of the 2019 Notes in cash and any excess conversion premium in shares. As mentioned in Note 14, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Senior Notes,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;the &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Company adopted ASU 2020-06 effective January 1, 2022. Under ASU 2020-06, the Company is required to reflect the dilutive effect of the convertible securities by application of the &#x201c;if-converted&#x201d; method, which means the denominator of the EPS calculation would include the total number of shares assuming the 2019 Notes had been fully converted at the beginning of the period. Prior to March 4, 2022, the Company had the choice to settle the&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;conversion &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;of the 2019 Notes in cash, stock or a combination of the two. Therefore, from January 1, 2022 (the date the Company adopted ASU 2020-06) to March 4, 2022, the Company included &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,474,429&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares in the denominator of the EPS calculation, applying the if converted method. Subsequent to March 4, 2022, after the Second Supplemental Indenture became effective, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock, and from March 5, 2022 forward, only the excess premium will be settled with shares. Under the if-converted method of calculating dilutive shares, the Company was also required to exclude amortization of debt issuance costs and interest charges applicable to the convertible debt from the numerator of the dilutive EPS calculation for the period from January 1, 2022 to March 4, 2022, as if the interest on convertible debt was never recognized for that period. As a result, the Company excluded interest charges of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million (net of tax) from the numerator and included &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,359,957&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares in the calculation of diluted earnings as the dilutive effect of the conversion premium for the year ended December 31, 2022. There were no comparable amounts included in 2023 or 2021.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Prior to the adoption of ASU 2020-06, the Company applied the provisions of ASC 260, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Earnings Per Share,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;subsection 10-45-44, to determine the diluted weighted average shares outstanding as it related to the conversion spread on its convertible notes. Accordingly, the par value of the 2019 Notes was not included in the calculation of diluted EPS, but the dilutive effect of the conversion premium was considered in the calculation of diluted EPS using the treasury stock method. The dilutive impact of the 2019 Notes was 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 was no dilution from the accreted principal of the 2019 Notes.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Segment Reporting&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Operating segments are components of an enterprise that engage in business activities for which discrete financial information is available and regularly reviewed by the CODM in deciding how to allocate resources and assess performance. Our CEO has been identified as our CODM.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company views its operations, makes decisions regarding how to allocate resources and manages its business as &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;one&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents product revenues by product line:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:59.272%;"&gt;&lt;/td&gt;
          &lt;td style="width:2%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:16.363%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:2%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:16.363%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Filtration products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;347,781&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;495,930&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Chromatography products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,629&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;131,680&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Process analytics products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,820&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;53,512&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Proteins products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;103,463&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;114,320&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,688&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,741&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;638,381&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;801,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;p style="margin-left:4.667%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.75pt solid;margin-right:84.667%;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#x201c;FlexBiosys&#x201d;) from April 17, 2023, as well as Metenova Holding AB (&#x201c;Metenova&#x201d;) from October 2, 2023.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;"&gt;(2)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021 revenue for filtration products includes revenue related to Polymem S.A. (&#x201c;Polymem&#x201d;) from July 1, 2021, as well as BioFlex Solutions LLC (&#x201c;BioFlex&#x201d;) and Newton T&amp;amp;M Corp. (&#x201c;NTM&#x201d;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#x201c;Avitide&#x201d;) from September 20, 2021 through December 31, 2021. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Revenue from filtration products includes the XCell ATF&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; systems and consumables as well as the KrosFlo&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; and SIUS&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; filtration products. Revenue from chromatography products includes the OPUS&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; chromatography pre-packed columns, chromatography resins and ELISA test kits. Revenue from process analytics products includes the SoloVPE&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, FlowVPE&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; RPM&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and FlowVPX&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s total revenue by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented (based on the location of the customer):&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:57.409%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:11.177999999999999%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:11.177999999999999%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:11.238%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue by customers' geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC/Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s total assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total assets by geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,371,208&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,209,244&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;426,034&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287,543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,169&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,871&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total assets by geographic location&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,824,411&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,524,658&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s long-lived assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long-lived assets by geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;278,033&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;275,151&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43,280&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;38,541&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,919&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,819&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total long-lived assets by geographic location&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;324,232&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;316,511&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Concentrations of Credit Risk and Significant Customers&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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, limit its credit exposure to any one issuer (with the exception of U.S. treasury obligations) and type of instrument is limited. At December 31, 2023, the Company had no investments associated with foreign exchange contracts, options contracts or other foreign hedging arrangements.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 write-off 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;There was &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; revenue from customers that represented &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% or more of the Company's total revenue for the year ended December 31, 2023 or 2022. Revenue from Pfizer Inc. accounted for &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of total revenue for the year ended December 31, 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;No accounts receivable balance from a specific customer represented &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% or more of the Company's total trade accounts receivable at &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. Significant accounts receivable balances representing &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;or more of the Company&#x2019;s total&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;trade &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;accounts receivable balances at December 31, 2022&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; came from our accounts receivable balance outstanding with Purolite, an Ecolab Inc. company (&#x201c;Purolite&#x201d;), which was &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the Company's total trade accounts receivable balance.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Business Combinations, Goodwill and Intangible Assets&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Business Combinations&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 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, 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. These changes in the fair value of contingent consideration are recorded to contingent consideration in the Company&#x2019;s consolidated statements of comprehensive income. For the years ended December 31, 2023 and 2022&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, we recorded a decrease of $&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively, to the estimated contingent consideration obligation, primarily related to the acquisition of Avitide (the &#x201c;Avitide Acquisition&#x201d;).&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 after-tax cash flows attributable to these assets over their respective useful lives and then discounting these after-tax 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. The Company believes the estimated purchased customer relationships, developed technologies, trademark/tradename, patents, non-compete agreements 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 such assets.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Goodwill is not amortized and is tested for impairment at least annually at the reporting unit level. The Company operates as one reporting unit as of the goodwill impairment measurement date of December 31, 2023. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During the qualitative assessment of the Company&#x2019;s &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;one&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; reporting unit during the 2023 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 31, 2023. 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. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;There was &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; impairment to goodwill and therefore &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; impairment charge recorded for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company has historically tested for impairment on its goodwill annually as of its measurement date of December 31st pursuant to company policy. Subsequent to the 2023 annual impairment test, the Company voluntarily changed its annual impairment assessment date from December 31st to October 1st, the first day of the Company's fourth quarter, beginning on &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;October 1, 2024&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The change is being made to better align the annual impairment assessment date with the Company's annual planning and budgeting process as well as long-term planning and forecasting process.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; The &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Company has determined this voluntary change in accounting principle is preferable and will not impact its consolidated financial statements nor is it being done to accelerate, avoid or trigger an impairment charge. This change is not going to be applied retrospectively as it is&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;impracticable &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;to do so because retrospective application would require application of significant estimates and assumptions with the use of hindsight. Accordingly, the change will be applied prospectively.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Intangible Assets&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 (&#x201c;R&amp;amp;D&#x201d;) 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 existed 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 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Indefinite-lived intangible assets are reviewed for impairment at least annually. There has been &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; impairment of our intangible assets for the periods presented.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Stock Based Compensation&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 an 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company uses the Black-Scholes option pricing model to calculate the fair value of share-based awards on the grant date. The following assumptions are used in calculating the fair value of share-based awards:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Expected term&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Expected volatility&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Risk-free interest rate&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; The risk-free interest rate is the implied yield available on U.S. treasury zero-coupon issues with a remaining term equal to the option&#x2019;s expected term on the grant date.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Expected dividend yield&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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. Accordingly, the Company uses an expected dividend yield of zero to calculate the grant-date fair value of a stock option.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Estimated forfeiture rates&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; The Company has applied, based on an analysis of its historical forfeitures, annual forfeiture rates of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to non-executive level employees, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to executive level employees and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to non-employee members of the Board of Directors (&#x201c;Board&#x201d;) to all unvested stock options as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;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;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Advertising Costs&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company expenses advertising costs as they are incurred. Advertising expense for the years ended December 31, 2023, 2022 and 2021&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Recent Accounting Standards Updates&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;We consider the applicability and impact of all ASUs and other accounting guidance 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 guidance that we feel may be applicable to the Company are as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Recently Issued Accounting Guidance &#x2013; Adopted During the Fiscal Year&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In July 2023, the U.S. Securities and Exchange Commission (the &#x201c;SEC&#x201d;) adopted the final rule under SEC Release No. 33-11216, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Cybersecurity Risk Management, Strategy, Governance, and Incident Disclosure,&#x201d;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; requiring current reporting about material cybersecurity incidents and annual disclosures on management&#x2019;s processes for assessing, identifying, and managing material cybersecurity risks, the material impacts of cybersecurity threats and previous cybersecurity incidents, the Board's oversight of cybersecurity risks, and management&#x2019;s role and expertise in assessing and managing material cybersecurity risks. SEC Release No. 33-11216 was effective for us during the third quarter of 2023. The adoption of this guidance did not have a material impact on the Company&#x2019;s consolidated financial statements and disclosures.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In December 2022, the SEC adopted the final rule under SEC Release No. 33-11138,&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; "Insider Trading Arrangements and Related Disclosures&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;," which requires new disclosures regarding insider trading policies and procedures, the use of Rule 10b5-1 plans by directors and officers, and stock option grants issued in close proximity to the release of material nonpublic information. SEC Release No. 33-11138 was effective for us for our second quarter of 2023, and did not have a material impact on our consolidated financial statements and disclosures.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Recently Issued Accounting Guidance &#x2013; Not Yet Adopted&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In December 2023, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued ASU 2023-09, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Income Taxes (Topic 740) - Improvements to Income Tax Disclosures.&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;ASU 2023-09 enhances the transparency and decision usefulness of income tax disclosures by requiring consistent categories and greater disaggregation of information in the rate reconciliation and income taxes paid disaggregated by jurisdiction. ASU 2023-09 will be effective for the Company in its income tax disclosure included in its 2025 Annual Report on Form 10-K and will be applied on a prospective basis. However, retrospective application is permitted. Early adoption is also permitted. Besides a change in income tax disclosures, the Company does not expect the adoption of ASU 2023-09 to have a material impact on its consolidated financial statements.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;    &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In November 2023, the FASB issued ASU 2023-07, &#x201c;S&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;egment Reporting (Topic 820) - Improvements to Reportable Segment Disclosures.&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;ASU &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;2023-07 will improve reportable segment disclosure requirements, primarily through enhanced annual and interim disclosures about significant segment expenses that are regularly provided to the CODM. The disclosure required under  ASU 2023-07 are also required for public entities with a single reportable segment. ASU 2023-07 will be effective for the Company for annual periods beginning on January 1, 2024 and interim periods beginning on January 1, 2025. The amendments of this guidance apply retrospectively to all prior periods presented in the consolidated financial statements. Early adoption is&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;permitted. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Besides presentation in the segment footnote for its interim reporting, the Company does not expect the adoption of ASU 2023-07 to have a material impact on its consolidated financial statements.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_cdb0a45f-9935-4cf9-9dc4-3b85e9068c10">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Use of Estimates&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The preparation of financial statements in conformity with accounting principles generally accepted in the United States 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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, contingent consideration, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, estimates related to the fair value of the conversion features of the convertible notes for purposes of assessing whether debt extinguishment or modification accounting applies to the Company&#x2019;s debt exchange, stock-based compensation, tax reserves and recoverability of the Company&#x2019;s net deferred tax assets and related valuation allowance.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;</us-gaap:UseOfEstimates>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_893fff80-f3a8-4e40-9f3c-3beb197948ab">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Basis of Presentation&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All significant intercompany accounts and transactions have been eliminated in consolidation. Certain prior year balances have changed to reflect current year presentation.&lt;/span&gt;&lt;/p&gt;</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_43090f7d-9273-4ae9-bfd4-373c3bb89c0b">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Foreign Currency&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 include adjustments related to the Company&#x2019;s various intercompany loans with foreign subsidiaries. Intercompany loans determined to be permanent are remeasured at each period end and included in accumulated other comprehensive loss on the consolidated balance sheets. Intercompany loans with foreign subsidiaries determined to be repayable are remeasured at each period end and included in other income (expenses) on the consolidated statements of comprehensive income.&lt;/span&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:RevenueRecognitionPolicyTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_1ea85f78-1717-4546-aca7-3fd55bc922eb">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Revenue Recognition&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 sciences and biopharmaceutical industries. Under Accounting Standard Codification No. (&#x201c;ASC&#x201d;) 606, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Revenue from Contracts with Customers,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 606-10-32-18, 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 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
    <rgen:RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_83eca441-945c-47ad-8609-5803cf027e30">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Risks and Uncertainties&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;</rgen:RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_b6e68a2e-577c-412d-9b68-3e5ac8a53212">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Cash, Cash Equivalents and Restricted Cash&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 31, 2023 and 2022.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;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 31, 2023, 2022 and 2021&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;603.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively.&lt;/span&gt;</us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-5"
      id="F_cfe20114-81d5-4db5-a215-d3e031c71872"
      unitRef="U_USD">751300000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-5"
      id="F_f87814f9-34fa-48bb-b37b-7394a5c5a9cd"
      unitRef="U_USD">523500000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af"
      decimals="-5"
      id="F_671a91a2-dd5c-4fdf-a0d9-82f34df1d774"
      unitRef="U_USD">603800000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:MarketableSecuritiesPolicy
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_4d760862-af03-4c77-a6c8-12c2d31da9af">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Investment Securities&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;We classify our investment securities in one of three categories: held to maturity, trading, or available for sale. Our investment portfolio at December 31, 2022 consisted of an investment in U.S. treasury bills classified as held to maturity which was included in the Company's consolidated balance sheets under marketable securities held to maturity. These marketable securities matured in June 2023 and there are no comparable investments as of December 31, 2023. Securities that we have the positive intent and ability to hold to maturity are classified as held to maturity and stated at amortized cost in the consolidated balance sheets. Management determines the appropriate classification of securities at the time of purchase based upon management's intent with regards to such investment and reevaluates such designation as of each balance sheet date. The Company's investment policy requires that it only invest in high-rated securities and limit its exposure to any single-user. There were no realized or unrealized gains or losses on investments recorded as of December 31, 2023, 2022 and 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company classifies marketable securities as short-term when they have remaining contractual maturities of one year or less from the balance sheet date. The Company periodically assesses its marketable securities, if any, for impairment or credit losses.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</us-gaap:MarketableSecuritiesPolicy>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_ecdb2804-d66f-4673-aa29-09879caf0985">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Fair Value Measurement&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:8.08%;"&gt;&lt;/td&gt;
        &lt;td style="width:91.92%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Level 1  &#x2013;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:5pt;vertical-align:bottom;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that the Company has the ability to access.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:5pt;vertical-align:middle;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Level 2  &#x2013;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:5pt;vertical-align:bottom;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:5pt;vertical-align:middle;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Level 3  &#x2013;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:5pt;vertical-align:bottom;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Valuations based on inputs that are unobservable and significant to the overall fair value measurement.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:CreditLossFinancialInstrumentPolicyTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_8ecfa8f4-41f3-42dd-8126-386a81560cdc">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Allowance for credit losses&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;/p&gt;</us-gaap:CreditLossFinancialInstrumentPolicyTextBlock>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_33b7de91-d79b-443c-b9cd-77b8ec9f620e">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Inventories&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Inventories relate to the Company&#x2019;s bioprocessing business. The Company values inventory at cost or, if lower, net realizable value, using the first-in, first-out 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, work-in-process and finished products. The Company writes 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.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 consolidated financial statements, there have been no material adjustments related to a revised estimate of inventory valuations.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Work-in-process and finished products inventories consist of material, labor, outside processing costs and manufacturing overhead.&lt;/span&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:LoansAndLeasesReceivableLeaseFinancingPolicy
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_4d8bd40a-80f8-467e-9d2c-ab2bdab076fd">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Lease Accounting&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company adopted Accounting Standards Update No. (&#x201c;ASU&#x201d;) 2016-02, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Leases (Topic 842)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x201d; (&#x201c;ASC 842&#x201d;) as of January 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 right-of-use asset and liability on its consolidated balance sheets 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;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A lease qualifies as a finance lease if any of the following criteria are met at the inception of the lease: (i) there is a transfer of ownership of the leased asset to the Company by the end of the lease term, (ii) the Company holds an option to purchase the leased asset that it is reasonably certain to exercise, (iii) the lease term is for a major part of the remaining economic life of the leased asset, (iv) the present value of the sum of lease payments equals or exceeds substantially all of the fair value of the leased asset, or (v) 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;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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) a portion that is recorded as imputed interest expense and (ii) a portion that reduces the finance liability associated with the lease.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company does not separate lease and non-lease 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;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 sheets.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 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 certain 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;/p&gt;</us-gaap:LoansAndLeasesReceivableLeaseFinancingPolicy>
    <rgen:AccruedLiabilitiesPolicyTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_e31bd3f0-4e92-44ce-8051-729437aee5d9">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Accrued Liabilities&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 consolidated financial statements.&lt;/span&gt;</rgen:AccruedLiabilitiesPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_23fe1b2d-7e2b-47a3-9a6e-b3072a7d9439">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Income Taxes&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Deferred taxes are determined based on the difference between the consolidated financial statements 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 &#x201c;more-likely-than-not&#x201d; 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. The Company is subject to a territorial tax system under the Tax Cuts and Jobs Act enacted in December 2017, in which the Company is required to provide for tax on Global Intangible Low-Taxed 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;/span&gt;&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_1b304116-5384-45cf-9173-e6cd3acbe704">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Property, Plant &amp;amp; Equipment&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Property, plant &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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:45.7%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:53.3%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Classification&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated Useful Life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Buildings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Thirty years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Leasehold improvements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_833e71a6-5eeb-49e0-a78c-32c503c839cf;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Shorter of the term of the lease or estimated useful life&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_5228bde0-a8f9-4d0e-8b0f-d7ad6cd002e0;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;twelve years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Furniture, fixtures and office equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_f687d5a1-4081-4400-8f1a-6ce4fa87b8cf;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;eight years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Computer hardware and software&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_254e1113-308c-468a-ae2c-284636e490d3;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;seven years&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;or estimated useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vehicles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Five years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Upon disposal of property, plant &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;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_9f1a22af-d1e9-4fbe-930a-00ef54887f46">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Property, plant &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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:3.333%;border-spacing:0;table-layout:fixed;width:96.0%;border-collapse:separate;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:45.7%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:53.3%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Classification&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated Useful Life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Buildings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Thirty years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Leasehold improvements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_833e71a6-5eeb-49e0-a78c-32c503c839cf;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Shorter of the term of the lease or estimated useful life&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_5228bde0-a8f9-4d0e-8b0f-d7ad6cd002e0;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;twelve years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Furniture, fixtures and office equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_f687d5a1-4081-4400-8f1a-6ce4fa87b8cf;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;eight years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Computer hardware and software&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="-sec-ix-hidden:F_254e1113-308c-468a-ae2c-284636e490d3;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;to &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;seven years&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;or estimated useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:12pt;vertical-align:top;"&gt;&lt;p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vehicles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Five years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;</rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_9f6daf9a-a720-4fa8-ba48-9c6855cb2aff"
      id="F_1e1d9685-4d5c-4ea2-a22e-727c540d1bc6">P30Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_88e1120d-11cc-4358-bc17-de14ebe14017"
      id="F_d5cf3fda-85a8-4e6f-b323-7cfe6e8df2e3">P12Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_1d4659d2-c3f5-4a48-8cda-dee4ef869001"
      id="F_fbfd8c5f-4701-47c8-bc7d-ec75d002e26e">P8Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_3fe4a608-1d4f-468c-8b33-9b8b5681611f"
      id="F_a53ca1bc-0491-4b73-939c-51238ed940b2">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_32322d77-2667-4a63-8d07-cfba6b2de40b"
      id="F_3d198e9e-b00e-4999-b505-cf68eb1c1171">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_368e8fce-a92f-4ff9-8423-87147a454cda">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Earnings Per Share&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company reports earnings per share (&#x201c;EPS&#x201d;) in accordance with ASC 260, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;"Earnings Per Share," &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;which establishes standards for computing and presenting EPS. Basic EPS is computed by dividing net income available to common shareholders by the weighted average number of common shares outstanding during the period. Diluted EPS is computed by dividing net income available to common shareholders by the weighted-average number of common shares and dilutive common share equivalents outstanding during the period. Potential common share equivalents consist of restricted stock awards (including performance stock units) and the incremental common shares issuable upon the exercise of stock options and warrants. Under the treasury stock method, unexercised &#x201c;in-the-money&#x201d; 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;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A reconciliation of basic and diluted weighted average share outstanding is as follows:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:57.477%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands, except per share data)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Numerator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;185,959&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;128,291&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;Charges associated with convertible debt instruments, net of tax&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;387&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;186,346&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;128,291&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Denominator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Weighted average shares used in computing net income per&lt;br/&gt;&#160;&#160;&#160;share - basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,720&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,460&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,015&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Effect of dilutive shares:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options and stock units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;457&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;608&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;915&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Convertible senior notes&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,360&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,253&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Dilutive effect of unvested performance stock units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Dilutive potential common shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;657&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,995&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,249&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;57,455&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;57,264&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:5pt;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnings per share:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.75&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.35&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.33&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Represents the dilutive impact for the Company's &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.375&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% Convertible Senior Notes due 2024 (the &#x201c; 2019 Notes&#x201d;) and its &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.00&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% Convertible Senior Notes due 2028 (the &#x201c;2023 Notes&#x201d;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 14, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Senior Notes,&#x201d;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; for more information.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;For the years ended December 31, 2023, 2022 and 2021, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;306,849&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;177,318&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;"&gt;68,968&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares, respectively, 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 for years presented.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In July 2019, the Company issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of its 2019 Notes. As provided by the terms of the indenture underlying the 2019 Notes, prior to March 4, 2022, conversion of the 2019 Notes could have been settled in cash, shares of the Company&#x2019;s common stock or a combination thereof, at the Company&#x2019;s election. On March 4, 2022, we entered into the Second Supplemental Indenture for the 2019 Notes, which irrevocably elected to settle the conversion of the 2019 Notes using a combination of cash and shares of the Company's common stock, settling the par value of the 2019 Notes in cash and any excess conversion premium in shares. On December 14, 2023, the Company exchanged, in a privately negotiated exchange, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;309.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million principal amount of 2023 Notes for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;217.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million principal amount of 2019 Notes and issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount  of 2023 Notes for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in cash. Following the close of the Exchange Transaction, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in aggregate principal amount of 2019 Notes remains outstanding with terms unchanged.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;As provided by the terms of the Second Supplemental Indenture underlying the 2019 Notes, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock. This means the Company will settle the par value of the 2019 Notes in cash and any excess conversion premium in shares. As mentioned in Note 14, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Senior Notes,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;the &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Company adopted ASU 2020-06 effective January 1, 2022. Under ASU 2020-06, the Company is required to reflect the dilutive effect of the convertible securities by application of the &#x201c;if-converted&#x201d; method, which means the denominator of the EPS calculation would include the total number of shares assuming the 2019 Notes had been fully converted at the beginning of the period. Prior to March 4, 2022, the Company had the choice to settle the&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;conversion &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;of the 2019 Notes in cash, stock or a combination of the two. Therefore, from January 1, 2022 (the date the Company adopted ASU 2020-06) to March 4, 2022, the Company included &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,474,429&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares in the denominator of the EPS calculation, applying the if converted method. Subsequent to March 4, 2022, after the Second Supplemental Indenture became effective, the Company irrevocably elected to settle the conversion obligation for the 2019 Notes in a combination of cash and shares of the Company's common stock, and from March 5, 2022 forward, only the excess premium will be settled with shares. Under the if-converted method of calculating dilutive shares, the Company was also required to exclude amortization of debt issuance costs and interest charges applicable to the convertible debt from the numerator of the dilutive EPS calculation for the period from January 1, 2022 to March 4, 2022, as if the interest on convertible debt was never recognized for that period. As a result, the Company excluded interest charges of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million (net of tax) from the numerator and included &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,359,957&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares in the calculation of diluted earnings as the dilutive effect of the conversion premium for the year ended December 31, 2022. There were no comparable amounts included in 2023 or 2021.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Prior to the adoption of ASU 2020-06, the Company applied the provisions of ASC 260, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Earnings Per Share,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;subsection 10-45-44, to determine the diluted weighted average shares outstanding as it related to the conversion spread on its convertible notes. Accordingly, the par value of the 2019 Notes was not included in the calculation of diluted EPS, but the dilutive effect of the conversion premium was considered in the calculation of diluted EPS using the treasury stock method. The dilutive impact of the 2019 Notes was 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 was no dilution from the accreted principal of the 2019 Notes.&lt;/span&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_fb5cd533-6a11-4563-85c9-738b846adee8">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A reconciliation of basic and diluted weighted average share outstanding is as follows:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:57.477%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands, except per share data)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Numerator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;185,959&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;128,291&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;Charges associated with convertible debt instruments, net of tax&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;387&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;Numerator for diluted earnings per share - net income available to common stockholders after the effect of dilutive securities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;186,346&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;128,291&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Denominator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Weighted average shares used in computing net income per&lt;br/&gt;&#160;&#160;&#160;share - basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,720&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,460&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,015&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Effect of dilutive shares:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options and stock units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;457&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;608&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;915&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Convertible senior notes&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,360&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,253&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Dilutive effect of unvested performance stock units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Dilutive potential common shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;657&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,995&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,249&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Denominator for diluted earnings per share - adjusted weighted average shares used in computing net income per share - diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;57,455&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;57,264&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:5pt;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnings per share:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.75&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.35&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.33&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;div style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Represents the dilutive impact for the Company's &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.375&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% Convertible Senior Notes due 2024 (the &#x201c; 2019 Notes&#x201d;) and its &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.00&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% Convertible Senior Notes due 2028 (the &#x201c;2023 Notes&#x201d;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 14, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Senior Notes,&#x201d;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; for more information.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_2418b8df-60d9-4dcc-9367-afc8c6b4d44e"
      unitRef="U_USD">41577000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_0aa9591a-7b47-4285-855e-f0566914e655"
      unitRef="U_USD">185959000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_9129d7b3-8b8c-4e83-ac7b-0d941387e9b3"
      unitRef="U_USD">128291000</us-gaap:NetIncomeLoss>
    <us-gaap:InterestOnConvertibleDebtNetOfTax
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_cd3b6172-a625-47e5-81a0-77609b2e17a3"
      unitRef="U_USD">0</us-gaap:InterestOnConvertibleDebtNetOfTax>
    <us-gaap:InterestOnConvertibleDebtNetOfTax
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_54eafb32-e6d8-4e18-9735-27c1f9c38bbe"
      unitRef="U_USD">387000</us-gaap:InterestOnConvertibleDebtNetOfTax>
    <us-gaap:InterestOnConvertibleDebtNetOfTax
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_7ca5fb46-444e-45e7-8873-173f347038c8"
      unitRef="U_USD">0</us-gaap:InterestOnConvertibleDebtNetOfTax>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_9ab317c1-46c0-4e37-81bf-0bd564999e67"
      unitRef="U_USD">41577000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_368d1ad5-3011-4ada-890d-3fd972f18bb1"
      unitRef="U_USD">186346000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_8f634774-162f-4b3d-899f-c2196adf420d"
      unitRef="U_USD">128291000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <rgen:NumberOfSharesBasicOutstanding
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_5507b873-231b-4c52-8083-c99a333c6e5a"
      unitRef="U_shares">55720</rgen:NumberOfSharesBasicOutstanding>
    <rgen:NumberOfSharesBasicOutstanding
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="INF"
      id="F_8bd06516-822a-427e-88a3-281fce91f044"
      unitRef="U_shares">55460</rgen:NumberOfSharesBasicOutstanding>
    <rgen:NumberOfSharesBasicOutstanding
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="INF"
      id="F_18252f60-eef8-4198-aa6a-451348ab5f04"
      unitRef="U_shares">55015</rgen:NumberOfSharesBasicOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_4fe95427-8d86-4aa2-9d35-0091e07334d8"
      unitRef="U_shares">457</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="INF"
      id="F_aab27d50-2a45-4b81-bde6-dbfba9f17acb"
      unitRef="U_shares">608</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="INF"
      id="F_c23bde4e-22c7-4099-8dec-97a2fe483a1d"
      unitRef="U_shares">915</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_b42f939a-afb3-44d0-b885-18b00aee0c42"
      unitRef="U_shares">181</rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes>
    <rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="INF"
      id="F_41ae403b-8eed-40d6-9d24-738bd7b5f54b"
      unitRef="U_shares">1360</rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes>
    <rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="INF"
      id="F_d1c02801-69d6-4cd9-b0f7-f09c531422ce"
      unitRef="U_shares">1253</rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareConvertibleSeniorNotes>
    <rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_3855804b-36bf-40e4-a2ea-c72389e492a0"
      unitRef="U_shares">8</rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration>
    <rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="INF"
      id="F_2eed53a1-b211-4c6f-9a17-0fef06129274"
      unitRef="U_shares">11</rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration>
    <rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="INF"
      id="F_c15f81a3-2734-48fc-bc07-7d479eb4a460"
      unitRef="U_shares">0</rgen:DilutiveSecuritiesEffectOnBasicEarningsPerShareContingentConsideration>
    <rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_d6147b24-5a61-4f37-a8e5-1094e1de6a2e"
      unitRef="U_shares">11</rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits>
    <rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="INF"
      id="F_93ec886e-4080-44bd-a3c7-67ab50cdc9a7"
      unitRef="U_shares">16</rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits>
    <rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="INF"
      id="F_e5d30a29-2116-4cbb-b9a7-cbb1c40c6366"
      unitRef="U_shares">81</rgen:WeightedAverageNumberOfSharesDilutiveEffectOfUnvestedPerformanceStockUnits>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_64ac8264-0727-4e56-9b3a-fe8cc63a3845"
      unitRef="U_shares">657</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="INF"
      id="F_bf49c5a5-01c9-4e41-bb2f-991691e80868"
      unitRef="U_shares">1995</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="INF"
      id="F_855f2017-dc8d-435a-8503-e6ad14246262"
      unitRef="U_shares">2249</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_0076880f-236e-442e-b7b4-e296b6ff9bee"
      unitRef="U_shares">56377</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="INF"
      id="F_0363b7a7-5fb1-46bf-bea8-c926407b6422"
      unitRef="U_shares">57455</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="INF"
      id="F_24c50e33-65ce-4172-bc15-36edabc8f24b"
      unitRef="U_shares">57264</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_3dc6e7b6-b8d5-4382-8a90-33508a895794"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.75</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="INF"
      id="F_bb2d14b0-10f8-4649-8656-fb0213c0d1d3"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">3.35</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="INF"
      id="F_9df6b3e4-d464-4493-b723-c3b421a286e2"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">2.33</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_1495f5d8-fc23-436d-b45f-321e9160edb2"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.74</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="INF"
      id="F_12f42eb4-a5fc-47f1-80af-06fbd8c629af"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">3.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="INF"
      id="F_9be3a7a5-6165-426b-9638-a39524bb5a85"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">2.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425"
      decimals="5"
      id="F_8ee30bbd-4891-441f-b6bb-3c9cfbb38136"
      unitRef="U_pure">0.00375</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea"
      decimals="4"
      id="F_c472ac3f-9093-40d6-8ed8-25a3875c4deb"
      unitRef="U_pure">0.01</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="0"
      id="F_af8a4337-4f1b-4306-a6e7-522f40758f30"
      unitRef="U_shares">306849</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="0"
      id="F_c02b23f2-a5ab-44af-81e9-0b7c74a526cf"
      unitRef="U_shares">177318</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="0"
      id="F_77859c3e-c27b-4cc9-8d28-da3c09d8f2b2"
      unitRef="U_shares">68968</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_02f5fe63-1ce5-472c-93ac-0dde30d0afc7"
      decimals="-5"
      id="F_97b72180-4efa-4619-8867-13cd95d9ee14"
      unitRef="U_USD">287500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="C_c208151c-fd40-4b9b-a486-b7d76d6e1366"
      decimals="-5"
      id="F_0f32e05b-65cb-4411-9fc3-cc922ffefcae"
      unitRef="U_USD">309900000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="C_bc05f12f-1d3d-467b-a871-ab4a3a2788b9"
      decimals="-5"
      id="F_06299ccb-5629-4eee-932c-94d7759a91a3"
      unitRef="U_USD">217700000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_c208151c-fd40-4b9b-a486-b7d76d6e1366"
      decimals="-5"
      id="F_b287a57e-6948-4b23-90c8-d31345f48843"
      unitRef="U_USD">290100000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:Cash
      contextRef="C_c208151c-fd40-4b9b-a486-b7d76d6e1366"
      decimals="-5"
      id="F_58f4235d-2ac2-423e-a6e2-a863a12fb4a7"
      unitRef="U_USD">290100000</us-gaap:Cash>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_bc05f12f-1d3d-467b-a871-ab4a3a2788b9"
      decimals="-5"
      id="F_5ef7eaf5-0ace-4b36-8f2b-e71c23e04e7c"
      unitRef="U_USD">69700000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_1d2b9541-4b8e-48fe-be8d-2836e857321f"
      decimals="INF"
      id="F_5ec002a4-3fd3-4508-bae0-7818d7a86b9b"
      unitRef="U_shares">3474429</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:InterestOnConvertibleDebtNetOfTax
      contextRef="C_79056218-50c8-44e2-82c2-3a208471f648"
      decimals="-5"
      id="F_eb1d9426-27e6-41ff-ae35-286070d64782"
      unitRef="U_USD">400000</us-gaap:InterestOnConvertibleDebtNetOfTax>
    <rgen:DilutiveEffectOnSharesOfConversionPremium
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="INF"
      id="F_c5c59f88-ae2b-4a42-80c1-ade54d7fcc2f"
      unitRef="U_shares">1359957</rgen:DilutiveEffectOnSharesOfConversionPremium>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_54a6e08f-76b9-47ec-84fb-295f4adf4c22">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Segment Reporting&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Operating segments are components of an enterprise that engage in business activities for which discrete financial information is available and regularly reviewed by the CODM in deciding how to allocate resources and assess performance. Our CEO has been identified as our CODM.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company views its operations, makes decisions regarding how to allocate resources and manages its business as &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;one&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents product revenues by product line:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:59.272%;"&gt;&lt;/td&gt;
          &lt;td style="width:2%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:16.363%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:2%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:16.363%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Filtration products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;347,781&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;495,930&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Chromatography products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,629&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;131,680&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Process analytics products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,820&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;53,512&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Proteins products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;103,463&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;114,320&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,688&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,741&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;638,381&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;801,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;p style="margin-left:4.667%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.75pt solid;margin-right:84.667%;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#x201c;FlexBiosys&#x201d;) from April 17, 2023, as well as Metenova Holding AB (&#x201c;Metenova&#x201d;) from October 2, 2023.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;"&gt;(2)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021 revenue for filtration products includes revenue related to Polymem S.A. (&#x201c;Polymem&#x201d;) from July 1, 2021, as well as BioFlex Solutions LLC (&#x201c;BioFlex&#x201d;) and Newton T&amp;amp;M Corp. (&#x201c;NTM&#x201d;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#x201c;Avitide&#x201d;) from September 20, 2021 through December 31, 2021. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Revenue from filtration products includes the XCell ATF&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; systems and consumables as well as the KrosFlo&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; and SIUS&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; filtration products. Revenue from chromatography products includes the OPUS&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; chromatography pre-packed columns, chromatography resins and ELISA test kits. Revenue from process analytics products includes the SoloVPE&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, FlowVPE&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; RPM&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and FlowVPX&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s total revenue by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented (based on the location of the customer):&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:57.409%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:11.177999999999999%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:11.177999999999999%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:11.238%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue by customers' geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC/Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s total assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total assets by geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,371,208&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,209,244&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;426,034&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287,543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,169&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,871&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total assets by geographic location&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,824,411&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,524,658&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s long-lived assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long-lived assets by geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;278,033&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;275,151&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43,280&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;38,541&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,919&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,819&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total long-lived assets by geographic location&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;324,232&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;316,511&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;/div&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_ce9d2457-953f-4e96-91bf-36d99429926e"
      unitRef="U_Segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_cb49d847-b308-4f82-89bf-4aecfe9c43dd">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents product revenues by product line:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:59.272%;"&gt;&lt;/td&gt;
          &lt;td style="width:2%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:16.363%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:2%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:16.363%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;span style="color:#000000;top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Filtration products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;347,781&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;495,930&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Chromatography products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,629&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;131,680&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Process analytics products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,820&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;53,512&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Proteins products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;103,463&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;114,320&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,688&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,741&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;638,381&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;801,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;p style="margin-left:4.667%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.75pt solid;margin-right:84.667%;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#x201c;FlexBiosys&#x201d;) from April 17, 2023, as well as Metenova Holding AB (&#x201c;Metenova&#x201d;) from October 2, 2023.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;"&gt;(2)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021 revenue for filtration products includes revenue related to Polymem S.A. (&#x201c;Polymem&#x201d;) from July 1, 2021, as well as BioFlex Solutions LLC (&#x201c;BioFlex&#x201d;) and Newton T&amp;amp;M Corp. (&#x201c;NTM&#x201d;) from December 16, 2021 through December 31, 2021. 2021 revenue for proteins products includes revenue related to Avitide, Inc. (&#x201c;Avitide&#x201d;) from September 20, 2021 through December 31, 2021. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_79913b54-4d18-4861-8db0-f6441ae54ca2"
      decimals="-3"
      id="F_a593e441-e4f3-42dd-99bb-cab29fb4e7fd"
      unitRef="U_USD">347781000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_5cb3e512-dc73-4d57-ab65-9f51145bcb3b"
      decimals="-3"
      id="F_9b3abe8d-decc-439d-a414-4e6ab394d134"
      unitRef="U_USD">495930000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_b37f2dd7-db8d-4564-8490-c13af0a7dc9f"
      decimals="-3"
      id="F_5a0e7162-6c91-4eef-96e9-8253c9d7d4f5"
      unitRef="U_USD">126629000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_ab11a2aa-60dc-4803-90bc-c52248d48c95"
      decimals="-3"
      id="F_f71d714a-7a66-4d86-bfc1-c2cce3f05619"
      unitRef="U_USD">131680000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_45cbfa90-1a17-4df2-a94b-e3842b34359b"
      decimals="-3"
      id="F_c53deb8c-c6c9-42a9-aadc-f665ee810e35"
      unitRef="U_USD">56820000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_257e3f99-1942-4ddd-b38b-f574a469f425"
      decimals="-3"
      id="F_b0ed2dca-bfb7-4c6f-8b22-dd459ccf287c"
      unitRef="U_USD">53512000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_c4bd80fe-9b6a-49e6-924a-af77a3bac3b4"
      decimals="-3"
      id="F_42c86271-3235-4e59-a758-ef673ccb9297"
      unitRef="U_USD">103463000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_efda8109-3ef1-45fa-b367-221c2fff8a2f"
      decimals="-3"
      id="F_b0b74997-834b-4031-a17e-edab4b8f0a4c"
      unitRef="U_USD">114320000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_d75bbd09-118c-44a7-affe-8efb170003a5"
      decimals="-3"
      id="F_9f975e29-63b4-4dea-a75b-e358d0b3bb45"
      unitRef="U_USD">3688000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_1a51bea0-3b9d-4190-9135-d28e1bbd308e"
      decimals="-3"
      id="F_67e17bf2-7a90-47d0-9f2c-a9bdb1463f07"
      unitRef="U_USD">5741000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_dee2a31b-7253-47c6-9660-f5b5e672b177"
      decimals="-3"
      id="F_6778190e-e6e1-441b-a728-bd975f2fb93b"
      unitRef="U_USD">638381000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_9011b1f0-543e-44f7-aa9b-706c7c794f92"
      decimals="-3"
      id="F_86acc7d4-a195-49cf-9fe7-bdcd77990256"
      unitRef="U_USD">801183000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock
      contextRef="C_e63149c3-6dce-46a4-8671-9b15fce4a2b7"
      id="F_dc977cbc-3b94-42b2-bcc8-edbf8991837e">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s total revenue by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented (based on the location of the customer):&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:57.409%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:11.177999999999999%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:11.177999999999999%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:11.238%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue by customers' geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC/Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;</us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_3bba5629-7ed9-481b-801b-a3d769b95b72"
      decimals="2"
      id="F_ec4eb78b-770e-4577-ba51-3356bf6aa24c"
      unitRef="U_pure">0.44</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_dcfe37fa-3569-4a2d-ba66-19bca23b7d2b"
      decimals="2"
      id="F_dcdfaae6-89f3-4958-817c-33ca184b38b9"
      unitRef="U_pure">0.43</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_33f5639d-9af1-4153-877c-ae26675dc4f7"
      decimals="2"
      id="F_ac0547a7-fcc2-4f93-9525-a14ea5281547"
      unitRef="U_pure">0.41</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_2b50fe49-16f6-46b5-86a3-05390f7f77d9"
      decimals="2"
      id="F_2111799c-23e8-4720-b077-bb3085317ec7"
      unitRef="U_pure">0.37</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_cd267744-c09a-477e-9c64-ffc885fc8422"
      decimals="2"
      id="F_29c64b08-39ea-499f-a6fb-258889fc2f32"
      unitRef="U_pure">0.37</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_4da766cd-d426-449c-8270-2b81279ef550"
      decimals="2"
      id="F_4908bd5d-6ed9-435d-a92d-9a0d7e09693f"
      unitRef="U_pure">0.40</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_1c9ae0a3-e3e4-4470-8ffe-8b0ec9fe3b73"
      decimals="2"
      id="F_1b1e9d27-cf11-4a6e-83da-fa18a44cb238"
      unitRef="U_pure">0.19</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_2ce1f9f7-c650-481f-a371-7fac561d3950"
      decimals="2"
      id="F_f9116cef-8881-4059-91cd-940bd6a77bf5"
      unitRef="U_pure">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_269e5895-414f-4f10-a1b6-ed25f4fe70f5"
      decimals="2"
      id="F_ea457bd8-4d58-4fc4-878b-8af6fd0cf2b4"
      unitRef="U_pure">0.19</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_150e519b-39a6-4239-bf63-7e5d43c982be"
      decimals="2"
      id="F_0ec0e4cb-8b6d-4a82-b501-d2bd5f748437"
      unitRef="U_pure">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_cb61d3f6-bd99-4568-99e1-9f1c180df1bf"
      decimals="2"
      id="F_8a66fad2-b7e0-42fd-9295-1d11ff8ea2d8"
      unitRef="U_pure">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_879baac1-a78a-4fba-bc72-f72f103d8c30"
      decimals="2"
      id="F_52ead9ce-9a71-435a-a5f3-084107ee97e3"
      unitRef="U_pure">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_a243566c-508d-4617-9c68-db9315dd1f2f">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s total assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total assets by geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,371,208&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,209,244&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;426,034&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287,543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,169&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,871&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total assets by geographic location&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,824,411&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,524,658&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;</us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock>
    <us-gaap:Assets
      contextRef="C_9b470293-9e77-40c8-bf3d-3b9ff9fbabc6"
      decimals="-3"
      id="F_23db32c0-394d-45ed-87d0-27a71961a46a"
      unitRef="U_USD">2371208000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_4d52c185-9ad7-401a-8858-4b968a11b1e8"
      decimals="-3"
      id="F_786101af-ba31-4882-aa49-2ef66d1783fa"
      unitRef="U_USD">2209244000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_1ecbfa2c-bd91-4ef0-984f-d6d67284458b"
      decimals="-3"
      id="F_1faca369-7f9d-442a-9929-245fdda355c3"
      unitRef="U_USD">426034000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_154fd8ae-c58a-4c87-9250-bb5df675f1a8"
      decimals="-3"
      id="F_55aa9732-ff9e-4a2a-bbbe-12abcc712d5f"
      unitRef="U_USD">287543000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_552cd63f-cd47-4f47-80ac-a57e7b5686a6"
      decimals="-3"
      id="F_4f8890e8-dd28-47ca-9724-b64b3bd88205"
      unitRef="U_USD">27169000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_7b117a89-fef0-4d8f-a2d5-990fbbc276b0"
      decimals="-3"
      id="F_53d78a8c-6f32-4b37-8bfc-b18eb94357ca"
      unitRef="U_USD">27871000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_f1d6546b-ba49-47e6-8540-33a5b62c8d12"
      unitRef="U_USD">2824411000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_c1260b7f-35f0-422a-bc46-9a5d196620ea"
      unitRef="U_USD">2524658000</us-gaap:Assets>
    <us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_86b3d735-432d-4d39-9b22-6dbf39452c14">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the Company&#x2019;s long-lived assets by our country of domicile (the United States) and other countries where our major subsidiaries are domiciled for the periods presented:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
          &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long-lived assets by geographic locations:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;278,033&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;275,151&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Europe&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43,280&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;38,541&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
          &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;APAC&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,919&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,819&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total long-lived assets by geographic location&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;324,232&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;316,511&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
         &lt;/tr&gt;
        &lt;/table&gt;</us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="C_9b470293-9e77-40c8-bf3d-3b9ff9fbabc6"
      decimals="-3"
      id="F_60ece05f-85e0-4689-ab79-e8f1fcacd27a"
      unitRef="U_USD">278033000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="C_4d52c185-9ad7-401a-8858-4b968a11b1e8"
      decimals="-3"
      id="F_b5072428-2282-4478-ad25-0a4fd00d3377"
      unitRef="U_USD">275151000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="C_1ecbfa2c-bd91-4ef0-984f-d6d67284458b"
      decimals="-3"
      id="F_441f752f-42df-4cdd-8777-441248ca05fc"
      unitRef="U_USD">43280000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="C_154fd8ae-c58a-4c87-9250-bb5df675f1a8"
      decimals="-3"
      id="F_4ab0bcfb-0ff5-4b60-a735-2bc4e0d94507"
      unitRef="U_USD">38541000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="C_552cd63f-cd47-4f47-80ac-a57e7b5686a6"
      decimals="-3"
      id="F_ac3b96f5-8086-4bcb-add3-fe4955732c81"
      unitRef="U_USD">2919000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="C_7b117a89-fef0-4d8f-a2d5-990fbbc276b0"
      decimals="-3"
      id="F_73050553-9a0a-4dbc-88ba-739569ad7881"
      unitRef="U_USD">2819000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_379ef417-d099-4b0b-9baf-ab58cbff56c5"
      unitRef="U_USD">324232000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_9393170b-735e-419b-9e2f-741093f691b6"
      unitRef="U_USD">316511000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_c216f7ee-e219-411a-acba-c0c010cbf683">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Concentrations of Credit Risk and Significant Customers&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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, limit its credit exposure to any one issuer (with the exception of U.S. treasury obligations) and type of instrument is limited. At December 31, 2023, the Company had no investments associated with foreign exchange contracts, options contracts or other foreign hedging arrangements.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 write-off 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;There was &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; revenue from customers that represented &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% or more of the Company's total revenue for the year ended December 31, 2023 or 2022. Revenue from Pfizer Inc. accounted for &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of total revenue for the year ended December 31, 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;No accounts receivable balance from a specific customer represented &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% or more of the Company's total trade accounts receivable at &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. Significant accounts receivable balances representing &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;or more of the Company&#x2019;s total&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;trade &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;accounts receivable balances at December 31, 2022&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; came from our accounts receivable balance outstanding with Purolite, an Ecolab Inc. company (&#x201c;Purolite&#x201d;), which was &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the Company's total trade accounts receivable balance.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_3e29d7b6-1365-41b8-bbda-785796d1e6b6"
      decimals="-6"
      id="F_3b9c5e34-a3e1-433d-a33b-3cb6cb473dda"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_1b8252bc-f643-40ee-921b-58fa5486df44"
      decimals="-6"
      id="F_8df43eaa-a5e4-4ca1-96ac-0ce157b3463e"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_921a48f8-4769-4d33-a7a3-7e05610adf24"
      decimals="2"
      id="F_6c4b041d-e936-428d-af8a-cff86afd48d9"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_8876d512-9885-487e-975e-5ffa51ba8df7"
      decimals="2"
      id="F_9d6c12e7-d651-4e9a-a11f-ccec63fcd0f0"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_3be99d0a-f372-4903-bb6d-f2466e54c75b"
      decimals="2"
      id="F_c953ea4d-e68b-40cb-a5e4-9189cf4fb997"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_aa0933a1-5cea-46e0-b809-dbe79ee2c2b8"
      decimals="2"
      id="F_953e800d-4526-40cb-88a7-ed5ad3e8f3ba"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_d405691e-519f-4635-8348-61273f0c93b0"
      decimals="2"
      id="F_61062106-4896-4075-9805-3e86a7e6f559"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_07e86b36-118b-45f6-adaf-e4bf5d62364c"
      decimals="3"
      id="F_39de24e5-eb3a-44fb-bc85-6e745146e29b"
      unitRef="U_pure">0.127</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_1fba0c1b-bfd3-40ac-8126-62d93b52a48d">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Business Combinations, Goodwill and Intangible Assets&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Business Combinations&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 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, 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. These changes in the fair value of contingent consideration are recorded to contingent consideration in the Company&#x2019;s consolidated statements of comprehensive income. For the years ended December 31, 2023 and 2022&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, we recorded a decrease of $&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively, to the estimated contingent consideration obligation, primarily related to the acquisition of Avitide (the &#x201c;Avitide Acquisition&#x201d;).&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 after-tax cash flows attributable to these assets over their respective useful lives and then discounting these after-tax 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. The Company believes the estimated purchased customer relationships, developed technologies, trademark/tradename, patents, non-compete agreements 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 such assets.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Goodwill is not amortized and is tested for impairment at least annually at the reporting unit level. The Company operates as one reporting unit as of the goodwill impairment measurement date of December 31, 2023. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During the qualitative assessment of the Company&#x2019;s &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;one&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; reporting unit during the 2023 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 31, 2023. 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. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;There was &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; impairment to goodwill and therefore &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; impairment charge recorded for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company has historically tested for impairment on its goodwill annually as of its measurement date of December 31st pursuant to company policy. Subsequent to the 2023 annual impairment test, the Company voluntarily changed its annual impairment assessment date from December 31st to October 1st, the first day of the Company's fourth quarter, beginning on &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;October 1, 2024&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The change is being made to better align the annual impairment assessment date with the Company's annual planning and budgeting process as well as long-term planning and forecasting process.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; The &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Company has determined this voluntary change in accounting principle is preferable and will not impact its consolidated financial statements nor is it being done to accelerate, avoid or trigger an impairment charge. This change is not going to be applied retrospectively as it is&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;impracticable &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;to do so because retrospective application would require application of significant estimates and assumptions with the use of hindsight. Accordingly, the change will be applied prospectively.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Intangible Assets&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 (&#x201c;R&amp;amp;D&#x201d;) 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 existed 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 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Indefinite-lived intangible assets are reviewed for impairment at least annually. There has been &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; impairment of our intangible assets for the periods presented.&lt;/span&gt;&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <rgen:ContingentConsiderationObligationEstimated
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-5"
      id="F_b4892a1e-7704-43e5-b13c-23e0afc1d6a7"
      unitRef="U_USD">-30600000</rgen:ContingentConsiderationObligationEstimated>
    <rgen:ContingentConsiderationObligationEstimated
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-5"
      id="F_40957695-8e2e-4598-b570-523b34447fca"
      unitRef="U_USD">-28700000</rgen:ContingentConsiderationObligationEstimated>
    <us-gaap:NumberOfReportingUnits
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_53731aa6-b562-4b70-a215-e5c6789c17c9"
      unitRef="U_ReportingUnit">1</us-gaap:NumberOfReportingUnits>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-6"
      id="F_a3739a58-badd-4b1c-96dc-b30aeea1b4e8"
      unitRef="U_USD">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-6"
      id="F_2b59d83e-dc3c-45fc-85b7-824a02691d08"
      unitRef="U_USD">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-6"
      id="F_4530744b-d68c-4c69-906b-ac8a660a80bd"
      unitRef="U_USD">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:AssetImpairmentCharges
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-6"
      id="F_b17c0732-5d6e-4d6e-8fe6-38e7614254f5"
      unitRef="U_USD">0</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-6"
      id="F_3f6d4d55-54b9-4595-b664-2e87ea1fc324"
      unitRef="U_USD">0</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-6"
      id="F_191c64fc-7b61-4a6f-b69d-468c63baf794"
      unitRef="U_USD">0</us-gaap:AssetImpairmentCharges>
    <us-gaap:NewDateOfAnnualGoodwillImpairmentTest
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_18deff7a-464b-4f17-9b7f-994468b22415">October 1, 2024</us-gaap:NewDateOfAnnualGoodwillImpairmentTest>
    <us-gaap:ReasonForChangeInDateOfAnnualGoodwillImpairmentTest
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_cc0d4106-260f-49fd-a643-1a57c2c93e76">The change is being made to better align the annual impairment assessment date with the Company's annual planning and budgeting process as well as long-term planning and forecasting process.</us-gaap:ReasonForChangeInDateOfAnnualGoodwillImpairmentTest>
    <us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-6"
      id="F_56bc6dbb-c941-470d-b2af-76d4936f31c8"
      unitRef="U_USD">0</us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_727f2847-bced-403a-b4e7-baf322916770">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Stock Based Compensation&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 an 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company uses the Black-Scholes option pricing model to calculate the fair value of share-based awards on the grant date. The following assumptions are used in calculating the fair value of share-based awards:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Expected term&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Expected volatility&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Risk-free interest rate&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; The risk-free interest rate is the implied yield available on U.S. treasury zero-coupon issues with a remaining term equal to the option&#x2019;s expected term on the grant date.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Expected dividend yield&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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. Accordingly, the Company uses an expected dividend yield of zero to calculate the grant-date fair value of a stock option.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Estimated forfeiture rates&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; The Company has applied, based on an analysis of its historical forfeitures, annual forfeiture rates of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to non-executive level employees, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to executive level employees and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to non-employee members of the Board of Directors (&#x201c;Board&#x201d;) to all unvested stock options as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;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;/span&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="C_a6df805d-7a1c-40ca-945b-fda4c79b5dc7"
      decimals="2"
      id="F_7ad9f539-6fd3-489d-9549-133658b15047"
      unitRef="U_pure">0.08</rgen:PercentageOfSharesSubjectToForfeiture>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="C_e5c95f33-dcff-4103-abae-8ec2de93b51c"
      decimals="2"
      id="F_86b872ba-0897-4ff7-8790-941377762314"
      unitRef="U_pure">0.03</rgen:PercentageOfSharesSubjectToForfeiture>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="C_43b128f1-047e-4813-bab4-84eb75cde4c5"
      decimals="2"
      id="F_47ac7ed1-0faf-4d15-b8e7-b1af4f82aff1"
      unitRef="U_pure">0</rgen:PercentageOfSharesSubjectToForfeiture>
    <us-gaap:AdvertisingCostsPolicyTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_42fc0d88-1927-47a5-8f38-03320d7f8901">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Advertising Costs&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company expenses advertising costs as they are incurred. Advertising expense for the years ended December 31, 2023, 2022 and 2021&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively.&lt;/span&gt;&lt;/p&gt;</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-5"
      id="F_cc26aecc-bb70-401d-b594-14b16cf0ce65"
      unitRef="U_USD">800000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-5"
      id="F_04452d7a-9f82-4ab3-bff1-10b222572abd"
      unitRef="U_USD">600000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-5"
      id="F_11dbb639-4c71-4334-93cf-4bfbdb31afdf"
      unitRef="U_USD">600000</us-gaap:AdvertisingExpense>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_86a63eef-4994-48cb-9943-4675fdb99591">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Recent Accounting Standards Updates&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;We consider the applicability and impact of all ASUs and other accounting guidance 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 guidance that we feel may be applicable to the Company are as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Recently Issued Accounting Guidance &#x2013; Adopted During the Fiscal Year&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In July 2023, the U.S. Securities and Exchange Commission (the &#x201c;SEC&#x201d;) adopted the final rule under SEC Release No. 33-11216, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Cybersecurity Risk Management, Strategy, Governance, and Incident Disclosure,&#x201d;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; requiring current reporting about material cybersecurity incidents and annual disclosures on management&#x2019;s processes for assessing, identifying, and managing material cybersecurity risks, the material impacts of cybersecurity threats and previous cybersecurity incidents, the Board's oversight of cybersecurity risks, and management&#x2019;s role and expertise in assessing and managing material cybersecurity risks. SEC Release No. 33-11216 was effective for us during the third quarter of 2023. The adoption of this guidance did not have a material impact on the Company&#x2019;s consolidated financial statements and disclosures.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In December 2022, the SEC adopted the final rule under SEC Release No. 33-11138,&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; "Insider Trading Arrangements and Related Disclosures&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;," which requires new disclosures regarding insider trading policies and procedures, the use of Rule 10b5-1 plans by directors and officers, and stock option grants issued in close proximity to the release of material nonpublic information. SEC Release No. 33-11138 was effective for us for our second quarter of 2023, and did not have a material impact on our consolidated financial statements and disclosures.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Recently Issued Accounting Guidance &#x2013; Not Yet Adopted&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In December 2023, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued ASU 2023-09, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Income Taxes (Topic 740) - Improvements to Income Tax Disclosures.&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;ASU 2023-09 enhances the transparency and decision usefulness of income tax disclosures by requiring consistent categories and greater disaggregation of information in the rate reconciliation and income taxes paid disaggregated by jurisdiction. ASU 2023-09 will be effective for the Company in its income tax disclosure included in its 2025 Annual Report on Form 10-K and will be applied on a prospective basis. However, retrospective application is permitted. Early adoption is also permitted. Besides a change in income tax disclosures, the Company does not expect the adoption of ASU 2023-09 to have a material impact on its consolidated financial statements.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;    &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In November 2023, the FASB issued ASU 2023-07, &#x201c;S&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;egment Reporting (Topic 820) - Improvements to Reportable Segment Disclosures.&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;ASU &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;2023-07 will improve reportable segment disclosure requirements, primarily through enhanced annual and interim disclosures about significant segment expenses that are regularly provided to the CODM. The disclosure required under  ASU 2023-07 are also required for public entities with a single reportable segment. ASU 2023-07 will be effective for the Company for annual periods beginning on January 1, 2024 and interim periods beginning on January 1, 2025. The amendments of this guidance apply retrospectively to all prior periods presented in the consolidated financial statements. Early adoption is&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;permitted. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Besides presentation in the segment footnote for its interim reporting, the Company does not expect the adoption of ASU 2023-07 to have a material impact on its consolidated financial statements.&lt;/span&gt;&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_6f5d6e85-dc64-4170-b21b-89a573681b18">&lt;div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;"&gt;3.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Fair Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Cash, Cash Equivalents and Marketable Securities Held to Maturity&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table summarizes the Company's cash, cash equivalents and marketable securities held to maturity as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:95.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:46.731%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.78%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.538%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.78%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.538%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.78%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.538%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.78%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.538%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amortized&lt;br/&gt;&#160;Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Gains&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Losses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash and cash equivalents:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and money market funds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amortized &lt;br/&gt;Cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Gains&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Losses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash and cash equivalents:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and money market funds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Marketable securities held to maturity:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;U.S. treasury bills - short-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,299&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash, cash equivalents and marketable securities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;623,757&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;623,781&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During the fourth quarter of 2022, the Company purchased $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of 6-month U.S. treasury bills with &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;the positive intent and ability to hold them until maturity. Therefore, the Company classified this investment as held to maturity and stated it at amortized cost on the consolidated balance sheets. There is no comparable investment as of December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The amortized cost and fair value of the Company's held to maturity securities by contractual maturity at December 31, 2022 are summarized below. There were no comparable investments as of December 31, 2023:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:56.949%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.699%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.477%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.699%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.477%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.699%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amortized&lt;br/&gt;&#160;Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Maturity of one year or less&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,299&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,299&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Fair Value Measured on a Recurring Basis&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Financial assets and financial liabilities measured at fair value on a recurring basis consist of the following as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:47.819%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.24%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.804%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.24%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.804%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.24%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.804%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.24%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.804%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Money market accounts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;658,574&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;658,574&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Liabilities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Short-term contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long-term contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,070&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,070&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Money market accounts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;343,929&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;343,929&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Liabilities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Short-term contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,950&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,950&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long-term contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;51,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;51,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Contingent Consideration &#x2013; Earnout&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;As of December 31, 2023, the maximum amount of future contingent consideration (undiscounted) that the Company could be required to pay in connection with each of the completed acquisitions is; $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;125.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million over a three-year earnout period for Avitide, which was acquired in September 2021 and for which the earnout periods run from January 1, 2022 through December 31, 2024; $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;42.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million over a two-year earnout period for FlexBiosys, which was acquired in April 2023 and for which the earnout periods run from January 1, 2023 through December 31, 2024; and approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million over a one-year earnout period for Metenova, which was acquired in October 2023 and for which the earnout period runs from January 1, 2024 through December 31, 2024. See Note 4, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Acquisitions&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;to this report for more information on the contingent consideration earnouts.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During 2023, expected results and change in market inputs used to calculate the discount rate, resulted in a decrease in amounts reported as of December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. &lt;/span&gt;&lt;span style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A reconciliation of the change in fair value of contingent consideration &#x2013; earnout is included in the following table (amounts in thousands):&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:78.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.34%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;65,509&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisition date fair value of contingent consideration earnouts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,640&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Payment of contingent consideration earnouts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,527&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Decrease in fair value of contingent consideration earnouts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,569&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,053&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The recurring Level 3 fair value measurement of our contingent consideration &#x2013; earnout that we expect to be required to settle our 2023, 2024 and 2025 contingent consideration obligation for Avitide, FlexBiosys and Metenova include the following significant unobservable inputs (amounts in thousands, except percent data):&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:18.524%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.74%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.08%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.903%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.163%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:16.383%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.74%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.942%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.283%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Contingent Consideration Earnout&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="3" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value as of&lt;br/&gt;&#160;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Valuation Technique&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Unobservable Input&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Range&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted Average&lt;/span&gt;&lt;span style="color:#000000;top:-4.221pt;white-space:pre-wrap;font-weight:bold;font-size:6.03pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Probability of&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Success&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Commercialization-based payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,094&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Monte Carlo&lt;br/&gt;Simulation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnout Discount Rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="border-left:0.5pt solid #000000;vertical-align:top;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Volatility&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="border-left:0.5pt solid #000000;vertical-align:top;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue and Volume-&lt;br/&gt;based payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,454&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Monte Carlo&lt;br/&gt;Simulation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue &amp;amp; Volume&lt;br/&gt;Discount Rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="border-left:0.5pt solid #000000;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnout Discount Rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Probability of&lt;br/&gt;&#160;Success&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Manufacturing line expansions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,505&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Probability-weighted present value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnout Discount Rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;Unobservable inputs were weighted by the relative fair value of the contingent consideration liability.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company estimates the fair value of the contingent consideration earnouts using a Monte Carlo simulation. Changes in the projected performance of the acquired business could result in a higher or lower contingent consideration obligation in the future.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Fair Value Measured on a Nonrecurring Basis&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During 2023, there were no re-measurements to fair value of financial assets and liabilities that are measured at fair value on a nonrecurring basis.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Senior Notes&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In July 2019, the Company issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of the 2019 Notes. Interest is payable &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;semi-annually&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; in arrears on January 15 and July 15 of each year. The 2019 Notes will mature on July 15, 2024, unless earlier converted or repurchased in accordance with their terms. At &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 and 2022, subsequent to the adoption of ASU 2020-06, the carrying value of the 2019 Notes was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;284.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively, net of unamortized debt issuance costs and the fair value of the 2019 Notes was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;109.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;452.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively. The fair value of the 2019 Notes is a Level 1 valuation and was determined based on the most recent trade activity of the 2019 Notes as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 and 2022. The 2019 Notes are discussed in more detail in Note 14, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Convertible Senior Notes,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;to these consolidated financial statements.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;On December 14, 2023, the Company issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;600.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of its 2023 Notes in a private placement pursuant to separate, privately negotiated exchange and subscription agreements (the &#x201c;Exchange and Subscription Agreements&#x201d;) with a limited number of holders of its outstanding 2019 Notes and certain other qualified institutional buyers pursuant to Rule 144A under the Securities Act of 1933, as amended (&#x201c;Securities Act&#x201d;). Pursuant to the Exchange and Subscription Agreements, the Company exchanged $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;217.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of its 2019 Notes for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;309.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of the 2023 Notes (the &#x201c;Exchange Transaction&#x201d;) and issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of the 2023 Notes (the &#x201c;Subscription Transactions&#x201d;) for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in cash. At December 31, 2023, the carrying value of the 2023 Notes was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, net of unamortized debt issuance costs, and the fair value of the 2023 Notes was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;596.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The fair value of the 2023 Notes is a Level 1 valuation and was determined based on the most recent trade activity of the 2023 Notes as of December 31, 2023. The 2023 Notes are discussed in more detail in Note 14, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Senior Notes,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;to these consolidated financial statements.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <rgen:CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_942f39ed-2b6c-4350-be07-5262eb99b693">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table summarizes the Company's cash, cash equivalents and marketable securities held to maturity as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:95.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:46.731%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.78%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.538%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.78%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.538%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.78%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.538%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.78%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.538%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amortized&lt;br/&gt;&#160;Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Gains&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Losses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash and cash equivalents:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and money market funds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;751,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amortized &lt;br/&gt;Cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Gains&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Losses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Cash and cash equivalents:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and money market funds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;523,458&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Marketable securities held to maturity:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;U.S. treasury bills - short-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,299&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total cash, cash equivalents and marketable securities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;623,757&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;623,781&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</rgen:CashCashEquivalentsAndMarketableSecuritiesHeldToMaturityTableTextBlock>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts
      contextRef="C_96669801-ebb6-4ad9-a641-e8ae7e52f6d2"
      decimals="-3"
      id="F_2c8ad56c-d1d2-4781-89d8-3e706898d0b3"
      unitRef="U_USD">751323000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue
      contextRef="C_96669801-ebb6-4ad9-a641-e8ae7e52f6d2"
      decimals="-3"
      id="F_766675bd-0612-425d-a9f5-e56e8551fe5c"
      unitRef="U_USD">751323000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts
      contextRef="C_546f5e82-5209-4941-bc7b-b127f9248472"
      decimals="-3"
      id="F_9ad12b23-6b1b-4f30-89c8-7bf2c7a7d631"
      unitRef="U_USD">751323000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue
      contextRef="C_546f5e82-5209-4941-bc7b-b127f9248472"
      decimals="-3"
      id="F_3d05569d-befd-4767-b56d-18508576a49a"
      unitRef="U_USD">751323000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts
      contextRef="C_7d54aed8-1af4-4b01-ac5a-6386ffe65437"
      decimals="-3"
      id="F_03a07934-b68d-4f77-a5f9-e422c19538a8"
      unitRef="U_USD">523458000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue
      contextRef="C_7d54aed8-1af4-4b01-ac5a-6386ffe65437"
      decimals="-3"
      id="F_f9792b92-4eec-4864-8660-cfcbe051ee1a"
      unitRef="U_USD">523458000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts
      contextRef="C_3c49da65-3675-437a-9c07-ffc203307dd8"
      decimals="-3"
      id="F_ede202b5-070e-4ced-853a-d82a41aad9c9"
      unitRef="U_USD">523458000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue
      contextRef="C_3c49da65-3675-437a-9c07-ffc203307dd8"
      decimals="-3"
      id="F_f5783555-552f-475d-aba1-fc04151ef3d9"
      unitRef="U_USD">523458000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsEstimatedFairValue>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts
      contextRef="C_c6b33d55-7c41-4879-8628-e1b72882aad1"
      decimals="-3"
      id="F_3b53c270-d6a0-484c-9b23-ef9a71105add"
      unitRef="U_USD">100299000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts>
    <rgen:DebtSecuritiesHeldToMaturityGrossUnrealizedGain
      contextRef="C_c6b33d55-7c41-4879-8628-e1b72882aad1"
      decimals="-3"
      id="F_f8383a17-3ea0-4d7d-bc73-fad40af807f5"
      unitRef="U_USD">24000</rgen:DebtSecuritiesHeldToMaturityGrossUnrealizedGain>
    <rgen:DebtSecuritiesHeldToMaturityEstimatedFairValue
      contextRef="C_c6b33d55-7c41-4879-8628-e1b72882aad1"
      decimals="-3"
      id="F_391219f8-9347-449f-821b-c17b8461abf7"
      unitRef="U_USD">100323000</rgen:DebtSecuritiesHeldToMaturityEstimatedFairValue>
    <rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts
      contextRef="C_04f39a08-efdd-4895-a725-28d1badee02f"
      decimals="-3"
      id="F_0a697948-de8c-4d20-87f7-08764b2a854f"
      unitRef="U_USD">623757000</rgen:DebtSecuritiesHeldToMaturityAndCashAndCashEquivalentsAmortizedCosts>
    <rgen:DebtSecuritiesHeldToMaturityGrossUnrealizedGain
      contextRef="C_04f39a08-efdd-4895-a725-28d1badee02f"
      decimals="-3"
      id="F_6a07c799-0ddd-416d-874d-4deda70c3b8f"
      unitRef="U_USD">24000</rgen:DebtSecuritiesHeldToMaturityGrossUnrealizedGain>
    <rgen:AvailableForSaleSecuritiesEstimatedFairValue
      contextRef="C_04f39a08-efdd-4895-a725-28d1badee02f"
      decimals="-3"
      id="F_d785803b-0654-4050-be8e-f626d9dcc05c"
      unitRef="U_USD">623781000</rgen:AvailableForSaleSecuritiesEstimatedFairValue>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="C_26b1e372-ec7e-489c-8354-3fe6947aa5ce"
      decimals="-5"
      id="F_f90c33dc-8ba8-450d-a568-4addf60fd958"
      unitRef="U_USD">100000000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <rgen:ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_9d1d38df-bb5c-4c64-a059-071c14278995">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The amortized cost and fair value of the Company's held to maturity securities by contractual maturity at December 31, 2022 are summarized below. There were no comparable investments as of December 31, 2023:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:56.949%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.699%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.477%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.699%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.477%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.699%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amortized&lt;br/&gt;&#160;Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Maturity of one year or less&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,299&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,299&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;</rgen:ScheduleOfAmortizedCostAndFairValueDebtSecuritiesHeldToMaturityTableTextBlock>
    <rgen:DebtSecuritiesMaturityWithinOneYearAmortizedCost
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_430fb3b4-e0d4-4632-9d6e-00ee05382a3d"
      unitRef="U_USD">100299000</rgen:DebtSecuritiesMaturityWithinOneYearAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_b55958e1-ff74-4cbc-8d70-b853540ca559"
      unitRef="U_USD">100323000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <rgen:DebtSecuritiesMaturityWithinOneYearAmortizedCost
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_b24fa95a-ba34-4ea0-9a0a-f2f96cd806b3"
      unitRef="U_USD">100299000</rgen:DebtSecuritiesMaturityWithinOneYearAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_bbba770c-7f93-4a97-a22a-4c1568172fae"
      unitRef="U_USD">100323000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_4ae01300-373d-4051-b03c-bc98f504b4dd">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Financial assets and financial liabilities measured at fair value on a recurring basis consist of the following as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:47.819%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.24%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.804%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.24%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.804%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.24%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.804%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.24%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.804%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Money market accounts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;658,574&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;658,574&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Liabilities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Short-term contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long-term contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,070&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,070&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="text-indent:10pt;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Level 3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Money market accounts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;343,929&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;343,929&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Liabilities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Short-term contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,950&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,950&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long-term contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;51,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;51,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="C_2e432de0-16fc-4fd7-ae86-741fd451fa1d"
      decimals="-3"
      id="F_10522b5e-75fa-4ba0-b2d9-3795c2464a01"
      unitRef="U_USD">658574000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="C_2409797a-4999-4eb6-b741-0e80430b862d"
      decimals="-3"
      id="F_a087a5bb-846e-472c-87d0-41f8b5181a39"
      unitRef="U_USD">658574000</us-gaap:AssetsFairValueDisclosure>
    <rgen:ShortTermContingentConsideration
      contextRef="C_887930fe-3dd9-43cf-83da-f4b638e9203f"
      decimals="-3"
      id="F_ee19e041-c778-4253-bba8-afd93e102d20"
      unitRef="U_USD">12983000</rgen:ShortTermContingentConsideration>
    <rgen:ShortTermContingentConsideration
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_6c5b953f-cc90-4d52-a764-6477f18be373"
      unitRef="U_USD">12983000</rgen:ShortTermContingentConsideration>
    <rgen:LongTermContingentConsideration
      contextRef="C_887930fe-3dd9-43cf-83da-f4b638e9203f"
      decimals="-3"
      id="F_456a3829-9e09-4c21-9c5b-9838d352b515"
      unitRef="U_USD">14070000</rgen:LongTermContingentConsideration>
    <rgen:LongTermContingentConsideration
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_f438c1e8-7cab-4f40-9f76-ef066dd0e598"
      unitRef="U_USD">14070000</rgen:LongTermContingentConsideration>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="C_b8460d23-6fcb-4f66-aa4c-efa7a3ee889e"
      decimals="-3"
      id="F_7748b7d8-ab15-471e-8378-22775fb69ba4"
      unitRef="U_USD">343929000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="C_4204e5f8-1d80-453b-8e14-de8b7089fedb"
      decimals="-3"
      id="F_2dcc33c6-9d02-4150-a19f-81622771c8ad"
      unitRef="U_USD">343929000</us-gaap:AssetsFairValueDisclosure>
    <rgen:ShortTermContingentConsideration
      contextRef="C_f3e4551d-16c5-41d1-aca4-7a41e0034ab6"
      decimals="-3"
      id="F_4a9eae7a-9fd6-4a15-9e5d-c8b0c0c452dd"
      unitRef="U_USD">13950000</rgen:ShortTermContingentConsideration>
    <rgen:ShortTermContingentConsideration
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_51e45476-da82-4ce1-8d55-8b30fa1a30e2"
      unitRef="U_USD">13950000</rgen:ShortTermContingentConsideration>
    <rgen:LongTermContingentConsideration
      contextRef="C_f3e4551d-16c5-41d1-aca4-7a41e0034ab6"
      decimals="-3"
      id="F_de26659a-5569-4e84-8c91-96e62b39ba3c"
      unitRef="U_USD">51559000</rgen:LongTermContingentConsideration>
    <rgen:LongTermContingentConsideration
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_7b91c0a9-2b5a-43fe-865f-f60f6a02244d"
      unitRef="U_USD">51559000</rgen:LongTermContingentConsideration>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="C_2d320bf6-77ac-4821-8714-9c004fb3f74e"
      decimals="-5"
      id="F_285a79ca-64c0-4c8a-a7df-e20511ddb0a6"
      unitRef="U_USD">125000000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="C_ca77aac6-1dd3-4cdc-9e35-19da5b52b9c0"
      decimals="-5"
      id="F_5253201c-12f3-46e0-8509-3834cd97cf36"
      unitRef="U_USD">42000000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="C_4016e51f-a392-49c5-9c26-e9ddedab261e"
      decimals="-6"
      id="F_e17f2c28-a986-4a94-aca4-0d7bb9695aaa"
      unitRef="U_USD">10000000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_a9492f38-b5ad-4fda-8263-195f1d50b280">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;A reconciliation of the change in fair value of contingent consideration &#x2013; earnout is included in the following table (amounts in thousands):&lt;/span&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:78.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.34%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;65,509&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisition date fair value of contingent consideration earnouts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,640&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Payment of contingent consideration earnouts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,527&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Decrease in fair value of contingent consideration earnouts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,569&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,053&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="C_24412dc4-9725-40db-a5fd-31d323a358ad"
      decimals="-3"
      id="F_0105d289-b1bb-4ee7-add4-ca7b98e18715"
      unitRef="U_USD">65509000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
      contextRef="C_a79fa7ee-93f3-42d7-bd7e-a948de915877"
      decimals="-3"
      id="F_a7fbe41f-423f-4f12-ba28-da9b3dba534a"
      unitRef="U_USD">6640000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_a79fa7ee-93f3-42d7-bd7e-a948de915877"
      decimals="-3"
      id="F_0ef59078-3dfa-477d-9bc3-eb87a6711ecb"
      unitRef="U_USD">-14527000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="C_a79fa7ee-93f3-42d7-bd7e-a948de915877"
      decimals="-3"
      id="F_e8855064-662c-466a-94d9-453f48ca82ac"
      unitRef="U_USD">30569000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="C_d406539c-409d-4fb8-8a6c-ef865014fb4e"
      decimals="-3"
      id="F_8d053fe7-3865-4af7-bb0d-2debc1a3cbf4"
      unitRef="U_USD">27053000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_631a22be-d90e-4b45-81d6-6b4efe1f3bb7">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The recurring Level 3 fair value measurement of our contingent consideration &#x2013; earnout that we expect to be required to settle our 2023, 2024 and 2025 contingent consideration obligation for Avitide, FlexBiosys and Metenova include the following significant unobservable inputs (amounts in thousands, except percent data):&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:18.524%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.74%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.08%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.903%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.163%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:16.383%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.74%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.942%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.283%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Contingent Consideration Earnout&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="3" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value as of&lt;br/&gt;&#160;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Valuation Technique&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Unobservable Input&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Range&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted Average&lt;/span&gt;&lt;span style="color:#000000;top:-4.221pt;white-space:pre-wrap;font-weight:bold;font-size:6.03pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Probability of&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Success&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Commercialization-based payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,094&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Monte Carlo&lt;br/&gt;Simulation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnout Discount Rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="border-left:0.5pt solid #000000;vertical-align:top;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Volatility&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="border-left:0.5pt solid #000000;vertical-align:top;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:top;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue and Volume-&lt;br/&gt;based payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,454&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Monte Carlo&lt;br/&gt;Simulation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue &amp;amp; Volume&lt;br/&gt;Discount Rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="border-left:0.5pt solid #000000;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnout Discount Rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="border-left:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Probability of&lt;br/&gt;&#160;Success&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;border-left:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Manufacturing line expansions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,505&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Probability-weighted present value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Earnout Discount Rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%-&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-right:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;Unobservable inputs were weighted by the relative fair value of the contingent consideration liability.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock>
    <rgen:ProbabilityOfSuccess
      contextRef="C_23e1f1ef-1bb7-4045-8d2b-8d2285005e29"
      decimals="2"
      id="F_9793d310-c7ab-472b-a5a5-de2227c349e0"
      unitRef="U_pure">1</rgen:ProbabilityOfSuccess>
    <rgen:WeightedAverageDiscountRate
      contextRef="C_760d4e33-c9bb-413f-89b2-29e4e3d8ab51"
      decimals="2"
      id="F_c7eb62cc-8eef-40c9-87e4-4b07dcd143dd"
      unitRef="U_pure">1</rgen:WeightedAverageDiscountRate>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="C_23e1f1ef-1bb7-4045-8d2b-8d2285005e29"
      decimals="-3"
      id="F_b709d532-94a4-43c9-ba7f-a0454c911ab5"
      unitRef="U_USD">20094000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="C_24bf06e8-e89a-4731-b3b7-c6fb596229f3"
      decimals="3"
      id="F_29792139-7cc5-4722-a0d3-0c1de8318ab1"
      unitRef="U_pure">0.058</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="C_9ca68910-1653-4e2f-bfcb-c7b84370abec"
      decimals="3"
      id="F_66764b5c-3625-4719-aa38-082f787dcacc"
      unitRef="U_pure">0.059</us-gaap:DerivativeFixedInterestRate>
    <rgen:WeightedAverageDiscountRate
      contextRef="C_f69fe89a-f0fe-4055-88ed-d1817a15cd4d"
      decimals="3"
      id="F_6cb640a5-9802-4420-9a89-8eb136be720d"
      unitRef="U_pure">0.059</rgen:WeightedAverageDiscountRate>
    <rgen:VolatilityRateOfContingentConsideration
      contextRef="C_accb995c-4abf-4ea5-b6c5-3a74a0b46bd8"
      decimals="3"
      id="F_f4343c72-84b5-4efc-b117-a84db7c4687a"
      unitRef="U_pure">0.125</rgen:VolatilityRateOfContingentConsideration>
    <rgen:VolatilityRateOfContingentConsideration
      contextRef="C_d997f6f8-f5ec-4f58-9e56-a279b563d488"
      decimals="3"
      id="F_37c30e3e-0025-453f-9036-b6ac7fd3cf99"
      unitRef="U_pure">0.246</rgen:VolatilityRateOfContingentConsideration>
    <rgen:WeightedAverageDiscountRate
      contextRef="C_a7520188-6414-4a66-b746-38db7ebbf7c9"
      decimals="3"
      id="F_9480f985-4619-4b5e-9a6a-b139d8a302d0"
      unitRef="U_pure">0.219</rgen:WeightedAverageDiscountRate>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="C_7acfea58-fa85-414a-9bf0-d1e1d97ee21e"
      decimals="-3"
      id="F_8f3a08da-50f7-4a17-af5e-618fcf631f11"
      unitRef="U_USD">1454000</us-gaap:LiabilitiesFairValueDisclosure>
    <rgen:RevenueAndVolumeDiscountRate
      contextRef="C_accb995c-4abf-4ea5-b6c5-3a74a0b46bd8"
      decimals="3"
      id="F_0e155635-f015-4b18-87a8-1d8ff59770a4"
      unitRef="U_pure">0.025</rgen:RevenueAndVolumeDiscountRate>
    <rgen:RevenueAndVolumeDiscountRate
      contextRef="C_d997f6f8-f5ec-4f58-9e56-a279b563d488"
      decimals="3"
      id="F_a5dc8393-a666-4d7a-b4d1-4dab9ced7b60"
      unitRef="U_pure">0.093</rgen:RevenueAndVolumeDiscountRate>
    <rgen:WeightedAverageDiscountRate
      contextRef="C_3ce301fc-07a6-4b1c-b754-765be5af519f"
      decimals="3"
      id="F_4471f9a5-c655-414c-8fb1-95f24e752b49"
      unitRef="U_pure">0.083</rgen:WeightedAverageDiscountRate>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="C_accb995c-4abf-4ea5-b6c5-3a74a0b46bd8"
      decimals="3"
      id="F_a641ba1b-2dfd-487d-90d2-9a664e0a86bd"
      unitRef="U_pure">0.058</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="C_d997f6f8-f5ec-4f58-9e56-a279b563d488"
      decimals="3"
      id="F_501301e6-4d5f-4f6e-a35d-30dcaa2efcd8"
      unitRef="U_pure">0.072</us-gaap:DerivativeFixedInterestRate>
    <rgen:WeightedAverageDiscountRate
      contextRef="C_89c78e12-5096-4c82-b17c-42e7b33aab48"
      decimals="3"
      id="F_0771b9ca-4958-42b5-8f4b-754db30bae64"
      unitRef="U_pure">0.061</rgen:WeightedAverageDiscountRate>
    <rgen:ProbabilityOfSuccess
      contextRef="C_79ec1b94-5e13-4664-8016-cda4361247f8"
      decimals="2"
      id="F_55312399-c4bc-490d-a0c5-bafacc30785a"
      unitRef="U_pure">1</rgen:ProbabilityOfSuccess>
    <rgen:WeightedAverageDiscountRate
      contextRef="C_0ec1caa0-22b9-49be-99f0-24df7920b8e9"
      decimals="2"
      id="F_b231767e-964e-44c8-882c-1bc03546f44c"
      unitRef="U_pure">1</rgen:WeightedAverageDiscountRate>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="C_5b88ea0f-d65a-4455-a649-a2887184dd05"
      decimals="-3"
      id="F_5d2f7e64-3be5-4a05-8bde-6aa8629224d3"
      unitRef="U_USD">5505000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="C_afb3bee6-fa66-4b54-b62b-ce77f31cf5ea"
      decimals="3"
      id="F_4a679fb1-562c-41f9-8121-07b22c409cb7"
      unitRef="U_pure">0.061</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="C_29bee85e-e36e-422a-8cc3-a9f25ff28950"
      decimals="3"
      id="F_46475d73-ed4e-43be-a132-56220055b96d"
      unitRef="U_pure">0.064</us-gaap:DerivativeFixedInterestRate>
    <rgen:WeightedAverageDiscountRate
      contextRef="C_4a24b082-a1cd-44bc-9c96-552f2c2d6f9d"
      decimals="3"
      id="F_b18771ea-f0e3-413a-81ff-6dad36e25bb9"
      unitRef="U_pure">0.063</rgen:WeightedAverageDiscountRate>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_cc029464-b385-49cb-9e56-b4628acc7d0a"
      decimals="-5"
      id="F_f0c23eac-be86-44e7-a03c-8a9ddebad4a5"
      unitRef="U_USD">287500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFrequencyOfPeriodicPayment
      contextRef="C_717689d5-5087-4a04-aa3f-9f307cf22e1c"
      id="F_19f3f042-2c50-4d2c-867a-307d3c25bc6f">semi-annually</us-gaap:DebtInstrumentFrequencyOfPeriodicPayment>
    <us-gaap:LongTermDebt
      contextRef="C_e29aed53-4e06-4a54-bd1b-2402a8ee2f2f"
      decimals="-5"
      id="F_2afa122d-406b-413b-8b0a-8739c2bc863f"
      unitRef="U_USD">69500000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="C_0dd2b2f7-9e3b-43b9-ba52-85030fbe87ef"
      decimals="-5"
      id="F_97f52a0d-8758-4911-9aaa-4ec84de178d1"
      unitRef="U_USD">284600000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtFairValue
      contextRef="C_e29aed53-4e06-4a54-bd1b-2402a8ee2f2f"
      decimals="-5"
      id="F_0b3f7d75-4b7d-451d-b3d9-0af802415c85"
      unitRef="U_USD">109800000</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebtFairValue
      contextRef="C_0dd2b2f7-9e3b-43b9-ba52-85030fbe87ef"
      decimals="-5"
      id="F_be48ff26-f2ac-40c4-97fc-8fea4e75fca0"
      unitRef="U_USD">452000000</us-gaap:LongTermDebtFairValue>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_7403ed90-12d4-4aa6-b6cb-10512083f740"
      decimals="-5"
      id="F_6f6fd829-5957-4435-88b5-1071f35419d1"
      unitRef="U_USD">600000000</us-gaap:DebtInstrumentFaceAmount>
    <rgen:DebtInstrumentExchangeAmount
      contextRef="C_753a94c8-7ff4-491a-9a71-4555722dc47e"
      decimals="-5"
      id="F_d2444d47-09e4-4e9d-9f9c-d6649f3fb7b5"
      unitRef="U_USD">217700000</rgen:DebtInstrumentExchangeAmount>
    <rgen:DebtInstrumentExchangedAmountCancelled
      contextRef="C_8dd45a8e-8254-41a2-86cd-99c2f5569099"
      decimals="-5"
      id="F_e93874fc-1eb4-4fbe-bed0-3dfde9cd8152"
      unitRef="U_USD">309900000</rgen:DebtInstrumentExchangedAmountCancelled>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_2e331be7-03c9-42af-8c9d-11ce133231f2"
      decimals="-5"
      id="F_c9c7d9ed-a765-4ad5-a604-b3c74d425cab"
      unitRef="U_USD">290100000</us-gaap:DebtInstrumentFaceAmount>
    <rgen:DebtInstrumentIssuedForCash
      contextRef="C_c208151c-fd40-4b9b-a486-b7d76d6e1366"
      decimals="-5"
      id="F_cf1f1580-52fe-4a2a-b16e-bc6a1186c568"
      unitRef="U_USD">290100000</rgen:DebtInstrumentIssuedForCash>
    <us-gaap:LongTermDebt
      contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea"
      decimals="-5"
      id="F_c8e9f127-31ad-4cfe-bd02-f199c091ecef"
      unitRef="U_USD">510100000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtFairValue
      contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea"
      decimals="-5"
      id="F_cf186290-9d3b-4e9a-98cf-56d350463b37"
      unitRef="U_USD">596000000</us-gaap:LongTermDebtFairValue>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_2f8072e1-156c-416f-b7bf-e96619a1e37c">&lt;div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;"&gt;4.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Acquisitions&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;2023 Acquisitions&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Metenova Holding AB&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;On October 2, 2023, the Company's subsidiary, Repligen Sweden AB acquired Metenova from the former shareholders of Metenova (the &#x201c;Metenova Seller&#x201d;) pursuant to a Share Sale and Purchase Agreement (the &#x201c;Share Purchase Agreement&#x201d;), dated as of September 23, 2023 (such acquisition, the &#x201c;Metenova Acquisition&#x201d;), by and among Repligen Sweden AB, the Metenova Seller, and the Company, in its capacity as guarantor of the obligations of Repligen Sweden AB under the Share Purchase Agreement.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Metenova, which is headquartered in Molndal, Sweden, offers magnetic mixing and drive train technologies that are widely used by global biopharmaceutical companies and contract development and manufacturing organizations. The Metenova Acquisition further strengthens our fluid management portfolio with these products.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Consideration Transferred&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company accounted for the Metenova Acquisition as a purchase of business under ASC 805, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Business Combinations,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and the Company engaged a third-party valuation firm to assist with the valuation of Metenova. Under the Share Purchase Agreement, all outstanding equity interests of Metenova were acquired for consideration with a value totaling $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;172.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The Metenova Acquisition was funded through payment of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;164.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in cash, the issuance of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;52,299&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; unregistered shares of the Company's common stock totaling $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and contingent consideration with an immaterial fair value.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Under the acquisition method of accounting, the assets acquired and liabilities assumed of Metenova were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net liabilities acquired is estimated to be $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, the fair value of the intangible assets acquired is estimated to be $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;58.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and the residual goodwill is estimated to be $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The estimated consideration and preliminary purchase price information has been prepared using a preliminary valuation. 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 has incurred $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of transaction and integration costs associated with the Metenova Acquisition from the date of acquisition to December 31, 2023. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income in 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Fair Value of Net Assets Acquired&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date. As of December 31, 2023, the purchase accounting for this acquisition had not been finalized. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period. Besides tax implications of the purchase price allocation, the final allocation may result in changes to other assets and liabilities.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and estimated allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;
    &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
     &lt;tr style="visibility:collapse;"&gt;
      &lt;td style="width:80.236%;"&gt;&lt;/td&gt;
      &lt;td style="width:1.94%;"&gt;&lt;/td&gt;
      &lt;td style="width:1%;"&gt;&lt;/td&gt;
      &lt;td style="width:15.823%;"&gt;&lt;/td&gt;
      &lt;td style="width:1%;"&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,768&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,730&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,421&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;470&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;433&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;615&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,659&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44,377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;939&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;787&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115,778&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,432&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,934&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;275&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred tax liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,481&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;255&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;172,600&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
      &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
    &lt;/table&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Acquired Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The goodwill of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million represents future economic benefits expected to arise from anticipated synergies from the integration of Metenova into the Company. These synergies include operating efficiencies and strategic benefits projected to be achieved as a result of the Metenova Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Intangible Assets&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the Metenova Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;
    &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
     &lt;tr style="visibility:collapse;"&gt;
      &lt;td style="width:53.871%;"&gt;&lt;/td&gt;
      &lt;td style="width:1.82%;"&gt;&lt;/td&gt;
      &lt;td style="width:19.884%;"&gt;&lt;/td&gt;
      &lt;td style="width:1.82%;"&gt;&lt;/td&gt;
      &lt;td style="width:1%;"&gt;&lt;/td&gt;
      &lt;td style="width:20.604%;"&gt;&lt;/td&gt;
      &lt;td style="width:1%;"&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
      &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
      &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
      &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,659&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44,377&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;939&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;787&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;58,762&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
    &lt;/table&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;FlexBiosys, Inc.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;On &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;April 17, 2023&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, the Company completed its acquisition of all of the outstanding equity interests in FlexBiosys, pursuant to an Equity Purchase Agreement with FlexBiosys, TSAP Holdings Inc. (&#x201c;NJ Seller&#x201d;), Gayle Tarry and Stanley Tarry, as individuals (collectively with NJ Seller, the &#x201c;FlexBiosys Sellers&#x201d;), and Stanley Tarry, in his capacity as the representative of the FlexBiosys Sellers (the &#x201c;FlexBiosys Acquisition&#x201d;).&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;FlexBiosys, which is headquartered in Branchburg, New Jersey, offers expert design and custom manufacturing of single-use bioprocessing products and a comprehensive range of products that include bioprocessing bags, bottles, and tubing assemblies. These products will complement and expand our fluid management portfolio of offerings.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Consideration transferred&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The FlexBiosys Acquisition was accounted for as a purchase of a business under ASC 805, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Business Combinations,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and the Company engaged a third-party valuation firm to assist with the valuation of FlexBiosys. Under the terms of the EPA, all outstanding equity interests of FlexBiosys were acquired for consideration with a value totaling $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The FlexBiosys Acquisition was funded through payment of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in cash, which includes $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million deposited in escrow for future payments, the issuance of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31,415&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; unregistered shares of the Company's common stock totaling $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and contingent consideration with fair value of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Under the acquisition method of accounting, the assets acquired and liabilities assumed of FlexBiosys were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is estimated to be $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, the fair value of the intangible assets acquired is estimated to be $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and the residual goodwill is estimated to be $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The estimated consideration and preliminary purchase price information has been prepared using a preliminary valuation. 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 has incurred $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of transaction and integration costs associated with the FlexBiosys Acquisition from the date of acquisition to December 31, 2023 with $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of the transaction and integration costs incurred during the three months ended December 31, 2023. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income in 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Fair Value of Net Assets Acquired&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date. As of December 31, 2023, the purchase accounting for this acquisition had not been finalized. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period, which ends on April 17, 2024. The final allocation may result in changes to other assets and liabilities.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and estimated allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;
    &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
     &lt;tr style="visibility:collapse;"&gt;
      &lt;td style="width:80.236%;"&gt;&lt;/td&gt;
      &lt;td style="width:1.94%;"&gt;&lt;/td&gt;
      &lt;td style="width:1%;"&gt;&lt;/td&gt;
      &lt;td style="width:15.823%;"&gt;&lt;/td&gt;
      &lt;td style="width:1%;"&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,090&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;683&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;667&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,034&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,537&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,530&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,860&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other long-term assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;136&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;314&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;39&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,498&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41,030&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
      &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
    &lt;/table&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During 2023, the Company recorded an immaterial net working capital adjustment related to the FlexBiosys Acquisition, which is included in goodwill in the table above.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Acquired Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The goodwill of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million represents future economic benefits expected to arise from anticipated synergies from the integration of FlexBiosys into the Company. These synergies include operating efficiencies and strategic benefits projected to be achieved as a result of the FlexBiosys Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Intangible Assets&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the FlexBiosys Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;
    &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
     &lt;tr style="visibility:collapse;"&gt;
      &lt;td style="width:53.871%;"&gt;&lt;/td&gt;
      &lt;td style="width:1.82%;"&gt;&lt;/td&gt;
      &lt;td style="width:19.884%;"&gt;&lt;/td&gt;
      &lt;td style="width:1.82%;"&gt;&lt;/td&gt;
      &lt;td style="width:1%;"&gt;&lt;/td&gt;
      &lt;td style="width:20.604%;"&gt;&lt;/td&gt;
      &lt;td style="width:1%;"&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
      &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
      &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
      &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,530&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,860&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,640&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
     &lt;/tr&gt;
    &lt;/table&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;2021 Acquisitions&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;BioFlex Solutions LLC and Newton T&amp;amp;M Corp.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;On November 29, 2021, the Company entered into an Equity Purchase Agreement with BioFlex (&#x201c;BioFlex EPA&#x201d;), NTM and each of Ralph Meola and Jason Nisler, to acquire &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the outstanding securities of BioFlex and NTM (collectively, the &#x201c;NTM Acquisition&#x201d;). The transaction closed on December 16, 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;NTM, which is headquartered in Newton, New Jersey, is the parent company of BioFlex and focuses on manufacturing of products, while BioFlex, also headquartered in Newton, New Jersey, commercializes branded products to biotech customers. The NTM Acquisition complements and expands our filtration offering paths as the industry migrates to single-use flow paths solutions for monoclonal antibody (&#x201c;mAb&#x201d;), vaccine and cell and gene therapy (&#x201c;C&amp;amp;GT&#x201d;) applications, with a focus on single-use fluid management components, including single-use clamps, adapters, end caps and hose assemblies. The NTM Acquisition streamlines and increases control over many components in our single-use supply chain which ultimately should drive reduced lead-times for Repligen customers in the coming years.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Consideration Transferred&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The NTM Acquisition was accounted for as a purchase of businesses under ASC 805, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Business Combinations&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Under the terms of the BioFlex EPA, all outstanding shares of capital stock of BioFlex were acquired for consideration with a value totaling $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, which includes $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million deposited into an escrow against which the Company may make claims for indemnification.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Under the acquisition method of accounting, the assets acquired and liabilities assumed of BioFlex were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, the fair value of the intangible assets acquired is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, and the residual goodwill is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; 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 &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of transaction and integration costs associated with the NTM Acquisition from the date of acquisition to December 31, 2022, with $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of transaction and integration costs incurred in 2022 and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million incurred in 2021. The transaction and integration costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Fair Value of Net Assets Acquired&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 final valuation. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended December 16, 2022.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and estimated allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,870&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,408&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;741&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,034&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,540&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;310&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;60&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,834&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long term deferred tax asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;224&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;450&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,030&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31,571&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During 2022, the Company recorded net working capital adjustments of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million related to pre-acquisition liabilities, which are included in goodwill and accrued liabilities in the table above.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Acquired Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The goodwill of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million represents future economic benefits expected to arise from anticipated synergies from the integration of BioFlex and NTM into the Company. These synergies include certain operating efficiencies and strategic benefits projected to be achieved as a result of the NTM Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Intangible Assets&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the NTM Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.871%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:19.884%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.604%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,540&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;310&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;60&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,150&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Avitide, Inc.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;On September 16, 2021, the Company entered into an Agreement and Plan of Merger and Reorganization (&#x201c;Avitide Merger Agreement&#x201d;) with Avalon Merger Sub, Inc., a Delaware corporation and a wholly owned direct subsidiary of the Company, Avalon Merger Sub LLC, a Delaware limited liability company and a wholly owned direct subsidiary of the Company, Avitide, a Delaware corporation, and Shareholder Representative Services LLC, a Colorado limited liability company, solely in its capacity as the representative, agent and attorney-in-fact of Avitide's securityholders to purchase Avitide. The transaction closed on September 20, 2021, and on the terms set forth in the Avitide Merger Agreement.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Avitide, which is headquartered in Lebanon, New Hampshire, offers diverse libraries and leading technology in affinity ligand discovery and development resulting in best-in-class ligand discovery and development lead-times. The acquisition gives the&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Company a new platform for affinity resin development, including C&amp;amp;GT, and advances and expands the Company&#x2019;s proteins and chromatography franchises to address the unique purification needs of gene therapies and other emerging modalities.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Consideration Transferred&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Avitide Acquisition was accounted for as a purchase of a business under ASC 805, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Business Combinations&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Under the terms of the Avitide Merger Agreement, all outstanding shares of capital stock of Avitide were cancelled and converted into the right to receive merger consideration with a value totaling up to $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;275.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, which consisted of upfront payments in aggregate of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;150.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million ($&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;149.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, net of cash acquired) and up to an additional $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;125.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million (undiscounted) in contingent consideration earnout payments if certain performance targets are achieved. Total consideration paid also included $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million deposited into an escrow account against which the Company may make claims for indemnification. The Avitide Acquisition was funded through payment of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;75.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in cash, the issuance of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;271,096&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; unregistered shares of the Company&#x2019;s common stock totaling $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;83.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and contingent consideration with fair value of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;88.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Under the acquisition method of accounting, the assets acquired and liabilities assumed of Avitide were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, fair value of the intangible assets acquired is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;46.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, and the residual goodwill is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;197.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million.  The Company has incurred &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of transaction and integration costs associated with the Avitide Acquisition from the date of acquisition to December 31, 2022, with &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;million of transaction and integration costs incurred in 2022 and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in 2021. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 expenses, and the applicable discount rates. These estimates were based on assumptions that the Company believes to be reasonable. However, actual results may differ from these estimates.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total consideration transferred is as follows (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;74,962&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equity consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;82,968&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration - earnout&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;88,373&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;246,303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;       Fair Value of Net Assets Acquired&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 final valuation of Avitide. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended on September 20, 2022.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and estimated allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;572&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;228&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;332&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;114&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,862&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,648&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,580&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;197,476&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long term deferred tax asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,525&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;215&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;698&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,950&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;58&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;246,303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Acquired Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The goodwill of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;197.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million represents future economic benefits expected to arise from anticipated synergies from the integration of Avitide. These synergies include certain cost savings, operating efficiencies and other strategic benefits projected to be achieved as a result of the Avitide Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes. During 2022, the Company recorded adjustments to goodwill of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million related to a change in estimated tax benefits associated with the net operating loss carryforward filed on the Avitide pre-acquisition tax return. The offset of these adjustments is included in long term deferred tax asset in the table above.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Intangible Assets&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the Avitide Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.871%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:19.884%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.604%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,580&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;46,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Polymem S.A.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;On June 22, 2021, the Company entered into a Stock Purchase Agreement with Polymem, a company organized under the laws of France, and Jean-Michel Espenan and Franc Saux, acting together jointly and severally as the representatives of the sellers pursuant to which Repligen acquired all of the outstanding common stock of Polymem for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;47.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in cash.  The transaction closed on July 1, 2021 (the &#x201c;Polymem Acquisition.&#x201d;).&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Polymem, which is headquartered in, Toulouse, France, is a manufacturer of hollow fiber (&#x201c;HF&#x201d;) membranes, membrane modules and systems for industrial and bioprocessing applications. Polymem products will complement and expand the Company&#x2019;s portfolio of HF systems and consumables. The acquisition substantially increases Repligen&#x2019;s membrane and module manufacturing capacity and establishes a world-class center of excellence in Europe to address the accelerating global demand for these innovative products.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Consideration Transferred&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company accounted for the Polymem Acquisition as a purchase of a business under ASC 805 and the Company engaged a third-party valuation firm to assist with the valuation of the business acquired. Payment for the transaction was denominated in Euros but is reflected here in U.S. dollars for presentation purposes based on an exchange rate of 0.8437 as of July 1, 2021, the date of acquisition. Total consideration paid was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;47.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, which included $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million deposited into an escrow account against which the Company may make claims for indemnification.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Under the acquisition method of accounting, the assets acquired and liabilities assumed of Polymem were recorded as of the acquisition date, at their respective fair values, and consolidated with those of the Company. The fair value of the net assets acquired is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, the fair value of the intangible assets acquired is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, and the residual goodwill is $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; 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 &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;million of transaction and integration costs associated with the Polymem Acquisition from the date of acquisition to December 31, 2022, with &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million incurred in 2022 and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million incurred from the date of acquisition to &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2021. The transaction costs are included in operating expenses in the consolidated statements of comprehensive income for the periods ended December 31, 2022 and 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Fair Value of Net Assets Acquired&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 final valuation of Polymem. The Company has made appropriate adjustments to the purchase price allocation during the measurement period, which ended on July 1, 2022.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and final allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;353&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net working capital (excluding cash and inventory&lt;br/&gt;&#160;&#160;&#160;&#160;&#160;step-up)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;414&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory step-up&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,424&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,145&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradenames&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-compete agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;312&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,680&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,253&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long term deferred tax liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,327&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other long-term liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;143&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-weight:bold;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;46,973&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Acquired Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The goodwill of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million represents future economic benefits expected to arise from anticipated synergies from the integration of Polymem. These synergies include certain operating efficiencies and strategic benefits projected to be achieved as a result of the Polymem Acquisition. Substantially all of the goodwill recorded is expected to be nondeductible for income tax purposes.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Intangible Assets&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the Polymem Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.871%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:19.884%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.604%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;312&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,096&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="C_5448846c-c54a-4763-93d4-042463ced1c8"
      decimals="-5"
      id="F_7d60ae48-7e55-4c0b-a871-5303ba538680"
      unitRef="U_USD">172600000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="C_5448846c-c54a-4763-93d4-042463ced1c8"
      decimals="-5"
      id="F_4bcf2d43-16be-432a-83c5-10ee01f293af"
      unitRef="U_USD">164500000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="C_5448846c-c54a-4763-93d4-042463ced1c8"
      decimals="0"
      id="F_38d2132d-f0c8-4fc5-be63-310ab32e4132"
      unitRef="U_shares">52299</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="C_12185a3c-5d63-40de-9abd-7778ed8450bd"
      decimals="-5"
      id="F_5c8bff1e-0bf6-41e2-a120-c6a4ec48468e"
      unitRef="U_USD">8100000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities
      contextRef="C_1e39a1e5-6510-4776-a74e-97861c37cf9b"
      decimals="-5"
      id="F_acd0d399-d64e-4e76-a54c-c98a1acc70ce"
      unitRef="U_USD">2000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_1e39a1e5-6510-4776-a74e-97861c37cf9b"
      decimals="-5"
      id="F_cb6e4d8f-fbc2-475b-a960-570103592437"
      unitRef="U_USD">58800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="C_1e39a1e5-6510-4776-a74e-97861c37cf9b"
      decimals="-5"
      id="F_e017aacb-b522-4cb6-b5af-5c4c2d3ff707"
      unitRef="U_USD">115800000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b"
      decimals="-5"
      id="F_137b1647-6b4a-4947-b176-20799eacfa75"
      unitRef="U_USD">3500000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b"
      decimals="-3"
      id="F_cff8c63c-7aa6-4dff-b2e9-c170e88d7ac4"
      unitRef="U_USD">5768000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b"
      decimals="-3"
      id="F_b5f941a0-84df-46ea-ac83-d01fe7341e38"
      unitRef="U_USD">3730000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b"
      decimals="-3"
      id="F_3ce0028f-b5aa-456f-9cbc-31a86c453653"
      unitRef="U_USD">4421000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b"
      decimals="-3"
      id="F_444a6f58-81a2-4f59-8b92-b1714b47b807"
      unitRef="U_USD">470000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b"
      decimals="-3"
      id="F_4b9b357f-6c25-42a2-880e-7275c34f6eb2"
      unitRef="U_USD">433000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset
      contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b"
      decimals="-3"
      id="F_d395d6d0-db94-4cd2-9786-c4c9167a1955"
      unitRef="U_USD">615000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_18f978c9-ddec-486d-945d-0074a86a8918"
      decimals="-3"
      id="F_fdc7b461-11a3-4373-b5b1-0943a794c2d6"
      unitRef="U_USD">12659000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_4d27362e-a895-4bcf-83da-26cc46043cc9"
      decimals="-3"
      id="F_1df3458b-1d1d-4bca-ab73-226591288498"
      unitRef="U_USD">44377000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_499b340b-2365-4913-9ac4-727e687d9b0f"
      decimals="-3"
      id="F_5e764d25-7064-4c2d-9f08-a4c5df7b906b"
      unitRef="U_USD">939000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_e82068f2-f43b-48ab-b2a3-63e250500d98"
      decimals="-3"
      id="F_76f7d2e7-5eff-49f1-9eba-978cd0577ca8"
      unitRef="U_USD">787000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b"
      decimals="-3"
      id="F_3db455da-eea9-43b9-be0a-e33de73d0736"
      unitRef="U_USD">115778000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b"
      decimals="-3"
      id="F_9ba7e3b9-f082-4a82-a7ee-334cdb9c9ea7"
      unitRef="U_USD">1432000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities
      contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b"
      decimals="-3"
      id="F_672177f2-75c4-464f-a22e-82e2258122de"
      unitRef="U_USD">-2934000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent
      contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b"
      decimals="-3"
      id="F_f9c5370e-5337-47a2-8460-31bba93b811a"
      unitRef="U_USD">-275000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent
      contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b"
      decimals="-3"
      id="F_096998ea-72c5-4621-b3d2-55f7f04a1296"
      unitRef="U_USD">-12481000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent
      contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b"
      decimals="-3"
      id="F_fdf47b4a-1b33-4c27-89d6-70e6cd8ee0e9"
      unitRef="U_USD">-255000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b"
      decimals="-3"
      id="F_59780be2-1670-4f73-8e9e-e1aba25fc000"
      unitRef="U_USD">172600000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:Goodwill
      contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b"
      decimals="-5"
      id="F_815945e0-5fff-47df-90e3-3f5505fbfb1d"
      unitRef="U_USD">115800000</us-gaap:Goodwill>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_fadab7cb-bdf3-48c0-8aae-4d92613236b3"
      id="F_36c6ed1e-0d55-4684-9367-5b1eae4a81df">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_18f978c9-ddec-486d-945d-0074a86a8918"
      decimals="-3"
      id="F_274c06c8-1bef-4608-906e-f91a555df56a"
      unitRef="U_USD">12659000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_c07ad21f-7a91-41a1-bd55-6c55dcbd0eef"
      id="F_c95a6618-45a9-4955-a037-8702d3c667c9">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_4d27362e-a895-4bcf-83da-26cc46043cc9"
      decimals="-3"
      id="F_98af3194-377c-4599-86df-c6673f19b397"
      unitRef="U_USD">44377000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_f44ebb5b-d0bb-4871-87af-ca9f24e74007"
      id="F_cb220e03-feaf-4975-86ce-d18cd626dc01">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_652b42cb-2d66-41fe-9327-e2a4645e1d06"
      decimals="-3"
      id="F_9e297416-c233-4c2d-86de-641b8f9c8074"
      unitRef="U_USD">939000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_d992a0c4-bfe1-4d23-a414-8bcbdc4fb52b"
      id="F_5f96a421-925b-413d-a068-beb0681cc152">P2Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_e82068f2-f43b-48ab-b2a3-63e250500d98"
      decimals="-3"
      id="F_d04d48d5-df1a-437f-87ca-e9ca3649f27b"
      unitRef="U_USD">787000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_44b46ac1-294b-4ad5-ac75-62384577540b"
      decimals="-3"
      id="F_14ad541c-1c8c-4bda-a0ff-5dd6b4fe0e67"
      unitRef="U_USD">58762000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessAcquisitionEffectiveDateOfAcquisition1
      contextRef="C_ec338d46-7f43-4052-a518-5dd62b72f6cb"
      id="F_970f7e20-7cf8-4e1b-a8a3-d5f4c8e859d9">2023-04-17</us-gaap:BusinessAcquisitionEffectiveDateOfAcquisition1>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="C_ec338d46-7f43-4052-a518-5dd62b72f6cb"
      decimals="-5"
      id="F_02f6a02a-908a-4f94-bc2d-318a6b1f0a6d"
      unitRef="U_USD">41000000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="C_ec338d46-7f43-4052-a518-5dd62b72f6cb"
      decimals="-5"
      id="F_e3de1f42-a47b-4502-855e-e0e6019ac213"
      unitRef="U_USD">29000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh
      contextRef="C_e22adbe5-96a3-4c4b-9e62-7ff5e4632e82"
      decimals="-5"
      id="F_ef1d5334-6e3b-476b-86fc-f1b787ac5037"
      unitRef="U_USD">6300000</us-gaap:BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="C_ec338d46-7f43-4052-a518-5dd62b72f6cb"
      decimals="0"
      id="F_3075c747-3a0c-4259-84e4-00ed4fc73545"
      unitRef="U_shares">31415</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="C_4dd94668-6be8-450d-b851-a67c4cecd7a7"
      decimals="-5"
      id="F_c627b1d9-7024-4d36-9625-879e2c62a7d7"
      unitRef="U_USD">5400000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="C_ec338d46-7f43-4052-a518-5dd62b72f6cb"
      decimals="-5"
      id="F_67369742-68a1-432d-a0c7-202410e1d873"
      unitRef="U_USD">6600000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities
      contextRef="C_e22adbe5-96a3-4c4b-9e62-7ff5e4632e82"
      decimals="-5"
      id="F_8602d0c4-4d12-41de-bb8d-8805c9053957"
      unitRef="U_USD">14100000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_e22adbe5-96a3-4c4b-9e62-7ff5e4632e82"
      decimals="-5"
      id="F_7198b6fa-a71b-4ad0-8291-48b6f47c30d4"
      unitRef="U_USD">12600000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="C_e22adbe5-96a3-4c4b-9e62-7ff5e4632e82"
      decimals="-5"
      id="F_3763ee78-a415-43da-952e-41c553ae5e8c"
      unitRef="U_USD">14300000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530"
      decimals="-5"
      id="F_f8d4f396-ed7f-4ab3-a893-3beb9c8de5fd"
      unitRef="U_USD">1100000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="C_7f10a22c-c0ff-4a49-9c2a-da2cb0211766"
      decimals="-5"
      id="F_65f94f79-9bc1-44d1-ba7e-85ec144c685e"
      unitRef="U_USD">200000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530"
      decimals="-3"
      id="F_91cbcbae-3741-4683-887b-da55fc91da9c"
      unitRef="U_USD">1090000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530"
      decimals="-3"
      id="F_d399e3d7-8c40-4f99-b41c-16b79d8e684f"
      unitRef="U_USD">683000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530"
      decimals="-3"
      id="F_985306f5-906a-4e74-bcac-924d3aed662b"
      unitRef="U_USD">667000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530"
      decimals="-3"
      id="F_b8fedff2-f3db-4c01-8a18-46101229bb8b"
      unitRef="U_USD">35000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530"
      decimals="-3"
      id="F_3a6d16b4-8c56-4013-9859-bd2f9cf74ea6"
      unitRef="U_USD">12034000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset
      contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530"
      decimals="-3"
      id="F_74885356-f649-48d6-aff0-bdf1ceec1428"
      unitRef="U_USD">3537000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_18370ce1-bdc3-40c6-b882-2e1f2cee9520"
      decimals="-3"
      id="F_2efe6873-4396-490b-8c35-d5d81b85013e"
      unitRef="U_USD">2530000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_133fdac5-2a09-4dd2-bf15-45a90d016c48"
      decimals="-3"
      id="F_ae84100c-c04d-48a2-bc1e-6958de54ae41"
      unitRef="U_USD">9860000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_291cb55b-5c7d-439f-8a16-3e77d97a2c7e"
      decimals="-3"
      id="F_98793f3a-63e6-49f2-a2ce-23b5c0c076ae"
      unitRef="U_USD">30000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_4a4d4bcf-dc88-4a65-8d52-52776bd62409"
      decimals="-3"
      id="F_ae42197d-8b67-4907-994c-974a52a260c8"
      unitRef="U_USD">220000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530"
      decimals="-3"
      id="F_9a930a9e-f01b-4081-8229-88353c5114b6"
      unitRef="U_USD">14321000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530"
      decimals="-3"
      id="F_f8c71e64-34d6-4e55-99b1-bba137610a44"
      unitRef="U_USD">10000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530"
      decimals="-3"
      id="F_c3f0abc4-aea0-441a-87a5-1446c62cf550"
      unitRef="U_USD">136000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities
      contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530"
      decimals="-3"
      id="F_08c55a69-c9c5-4ad2-878b-e59bd3a33d58"
      unitRef="U_USD">-314000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent
      contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530"
      decimals="-3"
      id="F_7c9103dd-abdd-44a0-8646-8c913dba73e9"
      unitRef="U_USD">-39000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent
      contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530"
      decimals="-3"
      id="F_3632ecf9-37d7-4d89-b72f-abf4288dec2c"
      unitRef="U_USD">-3498000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530"
      decimals="-3"
      id="F_f3d00b5f-9797-476a-a4b7-42526de97365"
      unitRef="U_USD">41030000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:Goodwill
      contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530"
      decimals="-5"
      id="F_3d0f2cc3-76fc-489e-81f4-4546118eba48"
      unitRef="U_USD">14300000</us-gaap:Goodwill>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_87f0d3f5-5044-424a-a609-3ca174b1bfce"
      id="F_a614bf13-cadf-4a76-b65a-9c3b19f50696">P12Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_18370ce1-bdc3-40c6-b882-2e1f2cee9520"
      decimals="-3"
      id="F_c5b11c7b-76ba-4974-aa6c-7c2eb64ce625"
      unitRef="U_USD">2530000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_479de3ae-4feb-457f-a793-23b9bdffbe18"
      id="F_62633b4e-2077-41ad-a3d5-10562906fd05">P16Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_133fdac5-2a09-4dd2-bf15-45a90d016c48"
      decimals="-3"
      id="F_00ffd815-48fd-4204-8ca6-b26cb5fde181"
      unitRef="U_USD">9860000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_56a3f80b-d903-4f51-b0b9-abc2078d1a8d"
      id="F_1bbafd5d-e1a9-48ec-98d7-ef48172b3cec">P4Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_15814d3a-48f5-4078-9612-a6b6930af965"
      decimals="-3"
      id="F_9673bd36-0a54-4c33-b384-086084c20aad"
      unitRef="U_USD">30000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_a767d9a8-2ae9-4df1-8795-b40611e450db"
      id="F_30ca1957-171f-45a1-9c7e-289eba9b3304">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_4a4d4bcf-dc88-4a65-8d52-52776bd62409"
      decimals="-3"
      id="F_5bfcfc60-f0e2-4e37-be0a-4f092c772c03"
      unitRef="U_USD">220000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_61bb89d0-b2ae-44ae-9c5f-37f0f1f8c530"
      decimals="-3"
      id="F_8afab86e-9bfe-4775-bdea-7fdb6d524a78"
      unitRef="U_USD">12640000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="C_5bb628d8-3f0c-4b65-b4d7-cb6d76ba077e"
      decimals="INF"
      id="F_76b00415-fa28-4448-91ec-afbd7bd75811"
      unitRef="U_pure">1</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="C_4e67a3f1-4977-4011-bde5-d94904a2fa18"
      decimals="-5"
      id="F_136ab61d-ac94-49fb-b418-13c07d522bbe"
      unitRef="U_USD">31600000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <rgen:BusinessCombinationConsiderationIndemnificationEscrow
      contextRef="C_4e67a3f1-4977-4011-bde5-d94904a2fa18"
      decimals="-5"
      id="F_b305541a-9afc-49cd-a53e-4ae4db43046d"
      unitRef="U_USD">3000000</rgen:BusinessCombinationConsiderationIndemnificationEscrow>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets
      contextRef="C_5bb628d8-3f0c-4b65-b4d7-cb6d76ba077e"
      decimals="-5"
      id="F_80e72433-9952-4138-938c-889c7b91a186"
      unitRef="U_USD">4600000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_5bb628d8-3f0c-4b65-b4d7-cb6d76ba077e"
      decimals="-5"
      id="F_ea4bcc1a-f635-4c08-88cb-1fc62a82c55d"
      unitRef="U_USD">17200000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="C_5bb628d8-3f0c-4b65-b4d7-cb6d76ba077e"
      decimals="-5"
      id="F_0aeb7fb2-fdfd-4a8a-abd6-07acfd34acee"
      unitRef="U_USD">9800000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="C_62811340-9646-4e62-9963-1943cc281dfe"
      decimals="-5"
      id="F_ec9b02f4-9361-4bfa-b8fe-d65e684047cb"
      unitRef="U_USD">3000000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-5"
      id="F_8158a4d6-106a-4959-b152-d36bd9d29fe4"
      unitRef="U_USD">2700000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af"
      decimals="-5"
      id="F_d8e1feb5-ccc5-40f5-853c-4aab9edc6305"
      unitRef="U_USD">300000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="C_823e817c-1120-41c0-8f87-43cc3bca6990"
      id="F_0309680a-9ead-4225-9799-99cc89dd44ce">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and estimated allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,870&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,408&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;741&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,034&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,540&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;310&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;60&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,834&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long term deferred tax asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;224&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;450&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,030&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31,571&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="C_62811340-9646-4e62-9963-1943cc281dfe"
      decimals="-3"
      id="F_34c3b841-5ef2-4dc1-a8c9-6fb5abc0170b"
      unitRef="U_USD">2870000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="C_62811340-9646-4e62-9963-1943cc281dfe"
      decimals="-3"
      id="F_0fd5e126-ce0a-4f90-8125-8ab89e6b7d08"
      unitRef="U_USD">1408000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="C_62811340-9646-4e62-9963-1943cc281dfe"
      decimals="-3"
      id="F_ddec9458-baab-451e-9987-cce0dc1b77fb"
      unitRef="U_USD">741000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="C_62811340-9646-4e62-9963-1943cc281dfe"
      decimals="-3"
      id="F_e3d8b4fa-253a-49a7-8ee7-30dc8352ddf4"
      unitRef="U_USD">126000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="C_62811340-9646-4e62-9963-1943cc281dfe"
      decimals="-3"
      id="F_cca42338-06f2-46c0-99f7-2edb6ecbd905"
      unitRef="U_USD">34000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset
      contextRef="C_62811340-9646-4e62-9963-1943cc281dfe"
      decimals="-3"
      id="F_c78c152f-d781-44fb-b143-a3fc825d8d73"
      unitRef="U_USD">1034000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_f1dabb7b-507c-48bd-a26a-32591ee1c9d3"
      decimals="-3"
      id="F_5a7ac04a-2a56-4ca1-bf44-e13a1c41ed56"
      unitRef="U_USD">13240000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_c6250a31-9f43-4012-8d2c-98cfe33f724f"
      decimals="-3"
      id="F_9df05c5f-8689-41fa-9b90-f045a92029f8"
      unitRef="U_USD">3540000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_71e6aab3-4604-4735-b858-235e60fd5929"
      decimals="-3"
      id="F_6d8501ed-2e22-433f-a561-97730d32a0a8"
      unitRef="U_USD">310000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_976715c7-5544-4187-9405-cd13f1b2793b"
      decimals="-3"
      id="F_5bf9d544-064a-4382-b4fb-c1cba8e0608e"
      unitRef="U_USD">60000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="C_62811340-9646-4e62-9963-1943cc281dfe"
      decimals="-3"
      id="F_9980ece2-8266-4c91-9e24-2049fe2e6b8c"
      unitRef="U_USD">9834000</us-gaap:Goodwill>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent
      contextRef="C_62811340-9646-4e62-9963-1943cc281dfe"
      decimals="-3"
      id="F_08c55bce-179a-450d-9047-06d8ad1be612"
      unitRef="U_USD">81000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="C_62811340-9646-4e62-9963-1943cc281dfe"
      decimals="-3"
      id="F_f12a7127-458f-4cd2-b8bc-1315e871d02e"
      unitRef="U_USD">224000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities
      contextRef="C_62811340-9646-4e62-9963-1943cc281dfe"
      decimals="-3"
      id="F_ee447b2f-6f62-4f9c-95e2-6aae6cf90a6c"
      unitRef="U_USD">450000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent
      contextRef="C_62811340-9646-4e62-9963-1943cc281dfe"
      decimals="-3"
      id="F_0f9d772f-ca84-48ca-8ab4-c0b6eac6d046"
      unitRef="U_USD">1030000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent
      contextRef="C_62811340-9646-4e62-9963-1943cc281dfe"
      decimals="-3"
      id="F_fc974e87-dc74-4a2c-b89d-d37357b8388a"
      unitRef="U_USD">3000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="C_62811340-9646-4e62-9963-1943cc281dfe"
      decimals="-3"
      id="F_45dd06fd-5da1-481a-9311-050ff88e82f2"
      unitRef="U_USD">31571000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <rgen:BusinessAcquisitionWorkingCapitalAdjustments
      contextRef="C_a2360a68-4dd0-4945-aacf-ea06efbd68e4"
      decimals="-5"
      id="F_6c2a617b-07df-4f17-a0ae-954879146352"
      unitRef="U_USD">300000</rgen:BusinessAcquisitionWorkingCapitalAdjustments>
    <us-gaap:Goodwill
      contextRef="C_62811340-9646-4e62-9963-1943cc281dfe"
      decimals="-5"
      id="F_b3813489-689f-4509-b47f-c9d5a93d0a6e"
      unitRef="U_USD">9800000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock
      contextRef="C_823e817c-1120-41c0-8f87-43cc3bca6990"
      id="F_455b7fbe-e099-4611-a856-55a5404b6979">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the NTM Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.871%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:19.884%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.604%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,540&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;310&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;60&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,150&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_fcaf8185-006b-4d16-9003-5b9a1ce147bb"
      id="F_07c6beef-310f-4940-91de-31c93c38b3be">P10Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_f1dabb7b-507c-48bd-a26a-32591ee1c9d3"
      decimals="-3"
      id="F_6b46a7a5-4909-4fd7-9b40-e5e8da5654e0"
      unitRef="U_USD">13240000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_714b669d-7f21-41a9-bcf3-63d0d5c97003"
      id="F_78db3d0e-17e3-408a-8cc5-07693d138fee">P11Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_c6250a31-9f43-4012-8d2c-98cfe33f724f"
      decimals="-3"
      id="F_855f6d0c-1a9b-4f6c-871b-fa690b2e32ec"
      unitRef="U_USD">3540000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_835d039c-6216-472b-b309-981960503438"
      id="F_5732817a-9b16-49e5-870e-c03881c3f90d">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_4abc906f-1ca4-41fe-958f-d1895f576d7e"
      decimals="-3"
      id="F_777129e9-b624-480a-abfb-60cb1f6fd2b8"
      unitRef="U_USD">310000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_5a22be32-db3c-42fd-ab9d-6ee722fc8e3e"
      id="F_629128f8-5d5f-402a-b53e-410a49b52f4b">P3Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_976715c7-5544-4187-9405-cd13f1b2793b"
      decimals="-3"
      id="F_afcadcb8-236e-43c5-8bd5-4a01e3be901f"
      unitRef="U_USD">60000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_62811340-9646-4e62-9963-1943cc281dfe"
      decimals="-3"
      id="F_cc7dc403-059e-41c3-b87b-2f3d6c929c31"
      unitRef="U_USD">17150000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="C_93fa3b0f-740e-4330-9016-802a5b90c555"
      decimals="-5"
      id="F_10df6d4a-a06b-4a0a-8c92-5c65f500addc"
      unitRef="U_USD">275000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="C_93fa3b0f-740e-4330-9016-802a5b90c555"
      decimals="-5"
      id="F_13a8c848-dba4-4e43-85f3-a583f5e43094"
      unitRef="U_USD">150000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="C_93fa3b0f-740e-4330-9016-802a5b90c555"
      decimals="-5"
      id="F_a6d5b6a9-76cf-4131-a2d9-a0497c2ae0b6"
      unitRef="U_USD">149400000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="C_93fa3b0f-740e-4330-9016-802a5b90c555"
      decimals="-5"
      id="F_416d384c-0392-49fb-91e0-7be76ee00e62"
      unitRef="U_USD">125000000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <rgen:BusinessCombinationConsiderationIndemnificationEscrow
      contextRef="C_93fa3b0f-740e-4330-9016-802a5b90c555"
      decimals="-5"
      id="F_0b68596d-2e96-4792-ad65-6ef964e70317"
      unitRef="U_USD">800000</rgen:BusinessCombinationConsiderationIndemnificationEscrow>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="C_1eb6f39f-f060-4fdc-a9c5-951ce53c87f7"
      decimals="-5"
      id="F_06040596-9578-4d85-b6c4-fff08fcba00f"
      unitRef="U_USD">75000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="C_1eb6f39f-f060-4fdc-a9c5-951ce53c87f7"
      decimals="INF"
      id="F_959bb444-39a0-42c6-a726-13551fd323cb"
      unitRef="U_shares">271096</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="C_1eb6f39f-f060-4fdc-a9c5-951ce53c87f7"
      decimals="-5"
      id="F_57081a05-824e-4b50-8998-7aa4aed1411a"
      unitRef="U_USD">83000000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="C_1eb6f39f-f060-4fdc-a9c5-951ce53c87f7"
      decimals="-5"
      id="F_d78318dd-d980-4865-876e-0f1883d9d816"
      unitRef="U_USD">88400000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities
      contextRef="C_82b34f21-90da-4453-bd95-19f7f29b5987"
      decimals="-5"
      id="F_5348fd7c-7a08-4cbf-9a26-5e93fd23811e"
      unitRef="U_USD">2100000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_82b34f21-90da-4453-bd95-19f7f29b5987"
      decimals="-5"
      id="F_be975941-5a84-4555-9d11-8de331ceac3f"
      unitRef="U_USD">46700000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="C_82b34f21-90da-4453-bd95-19f7f29b5987"
      decimals="-5"
      id="F_4a895aca-9ddf-412d-98c2-a6aa56d65ca0"
      unitRef="U_USD">197500000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"
      decimals="-5"
      id="F_7f4cd2b4-6368-436b-b6a4-4583a9c6d0bc"
      unitRef="U_USD">5600000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053"
      decimals="-5"
      id="F_af9e20d9-384a-45f7-b620-2b04027a1cbd"
      unitRef="U_USD">3000000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="C_f8ad70dd-d6b6-459c-bb62-1666ae84e439"
      decimals="-5"
      id="F_f1b23fa9-9af1-4e35-9ab1-0f95e68c1941"
      unitRef="U_USD">2600000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <rgen:ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock
      contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053"
      id="F_e57e66fa-5fd3-48d9-9f38-60e56655ba4b">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total consideration transferred is as follows (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;74,962&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equity consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;82,968&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration - earnout&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;88,373&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;246,303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</rgen:ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock>
    <rgen:CashConsiderationExcludingRestrictedCash
      contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053"
      decimals="-3"
      id="F_1f939063-16f6-422b-86e7-fc9b6bdfcc0b"
      unitRef="U_USD">74962000</rgen:CashConsiderationExcludingRestrictedCash>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053"
      decimals="-3"
      id="F_fb6026ab-bfd0-4ef8-a300-c32124650697"
      unitRef="U_USD">82968000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053"
      decimals="-3"
      id="F_429bf9fe-2ff4-4e19-9fd1-d9e82a3cb681"
      unitRef="U_USD">88373000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053"
      decimals="-3"
      id="F_29d9ba1f-7f77-425a-9994-073638cbcf41"
      unitRef="U_USD">246303000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053"
      id="F_c519242f-e5ab-43a8-b9a8-4efd3514f163">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and estimated allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;572&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;228&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;332&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;114&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,862&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,648&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,580&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;197,476&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long term deferred tax asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,525&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;215&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;698&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,950&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;58&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;246,303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"
      decimals="-3"
      id="F_b45bf9f7-fada-4552-a2b5-9b39d4dcda3a"
      unitRef="U_USD">572000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"
      decimals="-3"
      id="F_83546587-35f4-479e-8fee-14e443c0b020"
      unitRef="U_USD">228000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"
      decimals="-3"
      id="F_634b1141-6774-4891-bd2c-e9ac33ce4db6"
      unitRef="U_USD">332000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"
      decimals="-3"
      id="F_dc2bc156-bb31-496c-a535-69360f348982"
      unitRef="U_USD">114000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"
      decimals="-3"
      id="F_9194dd43-d48e-4baa-8446-19c8a1201219"
      unitRef="U_USD">1862000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset
      contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"
      decimals="-3"
      id="F_1e2d301b-c0e2-4365-9626-ea97da51aaa2"
      unitRef="U_USD">3648000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_d69fb9ce-46c5-482d-a1dd-f09d22665603"
      decimals="-3"
      id="F_124e397e-ac51-41eb-b2c7-43991501f4ae"
      unitRef="U_USD">24580000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_bd3481cc-2a09-47a2-b563-db968be0bb53"
      decimals="-3"
      id="F_040415fc-6a66-43ef-9d8f-6ee96d69086f"
      unitRef="U_USD">20650000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_8a2aa44e-1c77-4e9b-b26f-797d45ec5e86"
      decimals="-3"
      id="F_a471d8b7-3fbc-4433-a60e-426d4efff45f"
      unitRef="U_USD">1210000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_8e9ef9aa-c8dd-45d5-a8d3-a5cd3db78973"
      decimals="-3"
      id="F_525bceb3-4ce6-4d9c-ad43-171c8ebd838b"
      unitRef="U_USD">210000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"
      decimals="-3"
      id="F_3ce21712-7c7e-47d3-9747-8f6ba9febd59"
      unitRef="U_USD">197476000</us-gaap:Goodwill>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent
      contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"
      decimals="-3"
      id="F_368f098e-9178-402c-94c1-64ad8ac47758"
      unitRef="U_USD">1525000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssetNoncurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"
      decimals="-3"
      id="F_be618ad6-e9c7-4605-84a8-d0013ad8b859"
      unitRef="U_USD">215000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities
      contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"
      decimals="-3"
      id="F_2155f50c-7b06-4c9f-8642-3fedae95a2ad"
      unitRef="U_USD">2183000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent
      contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"
      decimals="-3"
      id="F_a1d8cc65-beeb-4d23-a033-12d45ace2518"
      unitRef="U_USD">698000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent
      contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"
      decimals="-3"
      id="F_7f14d2cb-3025-4dc2-9b69-1be65c0f585a"
      unitRef="U_USD">2950000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"
      decimals="-3"
      id="F_7e35d457-6eb5-4d93-b2e1-61291dacfa70"
      unitRef="U_USD">58000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"
      decimals="-3"
      id="F_60ae7cb7-c79d-4772-b813-3c6359dd151f"
      unitRef="U_USD">246303000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:Goodwill
      contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"
      decimals="-5"
      id="F_5487eada-f8bb-4c8b-99e6-cbcee5a26e3c"
      unitRef="U_USD">197500000</us-gaap:Goodwill>
    <rgen:BusinessAcquisitionWorkingCapitalAdjustments
      contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053"
      decimals="-5"
      id="F_6a6f5e71-bfd3-4d6a-81b9-8678fcc713fc"
      unitRef="U_USD">1800000</rgen:BusinessAcquisitionWorkingCapitalAdjustments>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock
      contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053"
      id="F_b751e112-4a75-4f90-bfa7-7a159f03c6e8">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the Avitide Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.871%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:19.884%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.604%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,580&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;46,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_176c1247-eb2a-4c73-b097-6065fe9c697c"
      id="F_2000784a-616a-443f-b3a2-73e5072b9eb2">P13Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_d69fb9ce-46c5-482d-a1dd-f09d22665603"
      decimals="-3"
      id="F_d6df02c5-ace6-4cdf-a6b3-6bb52a7ac6bc"
      unitRef="U_USD">24580000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_89f0b31d-6344-48c2-9f98-eacbb11caa75"
      id="F_93cc915f-28f5-4998-84ca-5479a0005585">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_bd3481cc-2a09-47a2-b563-db968be0bb53"
      decimals="-3"
      id="F_e5c58a74-6812-401c-9e89-45c6ecb82938"
      unitRef="U_USD">20650000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_bb1046c0-3b06-490a-8ed0-86c951deed8b"
      id="F_ec499bff-539f-4ce5-99d6-8c40c3d9882f">P18Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_b9353006-1041-419d-bd45-4d2fa466f8f1"
      decimals="-3"
      id="F_a9bbc71f-1c58-4732-9468-4d12caf871d0"
      unitRef="U_USD">1210000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_761f2c79-00c2-4771-b63d-c76d4896890d"
      id="F_a77734f4-dfae-4b89-b4cc-0a748efa79b3">P3Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_8e9ef9aa-c8dd-45d5-a8d3-a5cd3db78973"
      decimals="-3"
      id="F_c32c98e2-e493-4086-aab3-e3d0b5fa18af"
      unitRef="U_USD">210000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_bd76e994-cdb2-46c6-867b-c6fc03441d38"
      decimals="-3"
      id="F_55efe7e1-2873-4af3-bb2f-da1cf8870e18"
      unitRef="U_USD">46650000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="C_3dce753b-6100-443a-8dda-9eb651378f62"
      decimals="-5"
      id="F_2b9cb022-b90e-4516-9ba1-c092c6bb3ed2"
      unitRef="U_USD">47000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="C_dbc99887-a384-479d-a23e-5365e742bd7b"
      decimals="-5"
      id="F_a05c897e-0f0f-47eb-adab-80f34aaaa3dd"
      unitRef="U_USD">47000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <rgen:BusinessCombinationConsiderationIndemnificationEscrow
      contextRef="C_dbc99887-a384-479d-a23e-5365e742bd7b"
      decimals="-5"
      id="F_e2cb1a47-fb68-4a08-8d79-7e0b41ea0fe3"
      unitRef="U_USD">4300000</rgen:BusinessCombinationConsiderationIndemnificationEscrow>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities
      contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff"
      decimals="-5"
      id="F_d5d0e55b-0d67-43de-9788-9e4ea0a4ee98"
      unitRef="U_USD">2200000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff"
      decimals="-5"
      id="F_ddc8a134-21b8-49ad-a549-69e4e242c10c"
      unitRef="U_USD">9100000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff"
      decimals="-5"
      id="F_e9fcb98e-766f-4fdb-a807-3c8bf358acb9"
      unitRef="U_USD">35700000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff"
      decimals="-5"
      id="F_5c8f5bc9-a221-4259-bd52-fc92748d3bfa"
      unitRef="U_USD">8200000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="C_dbc99887-a384-479d-a23e-5365e742bd7b"
      decimals="-5"
      id="F_8b901217-c4a7-4a72-8765-867e33906921"
      unitRef="U_USD">5100000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="C_68b0b5e6-baaa-460e-ac57-8b878db22d5d"
      decimals="-5"
      id="F_6e59fba1-bbfc-4c59-83e2-d970fe812fc7"
      unitRef="U_USD">3100000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="C_dbc99887-a384-479d-a23e-5365e742bd7b"
      id="F_a2807187-49cb-4851-80c2-33975aefca73">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components and final allocation of the purchase price consist of the following (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;353&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net working capital (excluding cash and inventory&lt;br/&gt;&#160;&#160;&#160;&#160;&#160;step-up)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;414&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory step-up&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,424&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,145&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradenames&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-compete agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;312&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,680&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,253&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Long term deferred tax liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,327&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other long-term liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;143&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair value of net assets acquired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-weight:bold;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;46,973&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff"
      decimals="-3"
      id="F_71a3d284-25e5-46c9-8517-7e478d6425bb"
      unitRef="U_USD">353000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <rgen:NetWorkingCapitalExcludingCashAndInventory
      contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff"
      decimals="-3"
      id="F_02f79ef1-d679-42cc-a9c5-94376bbbb2c0"
      unitRef="U_USD">414000</rgen:NetWorkingCapitalExcludingCashAndInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff"
      decimals="-3"
      id="F_bb5cdd0d-51d3-4345-a309-d68a51db32d4"
      unitRef="U_USD">543000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset
      contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff"
      decimals="-3"
      id="F_2d8631b5-d644-44d7-a584-4df8b496a064"
      unitRef="U_USD">1424000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff"
      decimals="-3"
      id="F_9e2f2ef2-d890-4026-9298-ac450f783aec"
      unitRef="U_USD">3145000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff"
      decimals="-3"
      id="F_277ae645-3fa2-4c78-83b6-20d1784964b9"
      unitRef="U_USD">41000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_0636f0b2-82e8-4d4a-8689-7980ef3c140d"
      decimals="-3"
      id="F_11620055-72d4-4f69-90fd-c1b3932cecba"
      unitRef="U_USD">8274000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_452c508e-94a8-4d1a-9e28-9bd6a4333ba0"
      decimals="-3"
      id="F_f41ae81a-cc6b-43fa-ae15-190dba2aafb9"
      unitRef="U_USD">510000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="C_57f35866-0a0e-4f03-9e1f-0e6bfdbe887f"
      decimals="-3"
      id="F_ca7f1b7b-b073-4f5e-8319-0c8f374bdac2"
      unitRef="U_USD">312000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff"
      decimals="-3"
      id="F_1241a2d4-90b8-4ec2-846c-b5bcbebb984a"
      unitRef="U_USD">35680000</us-gaap:Goodwill>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent
      contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff"
      decimals="-3"
      id="F_fb4ee30f-bae8-420f-8555-08bb285de6c0"
      unitRef="U_USD">1253000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent
      contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff"
      decimals="-3"
      id="F_970421d3-4c15-46cc-8a02-d20135d8a830"
      unitRef="U_USD">-2327000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityNoncurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff"
      decimals="-3"
      id="F_6df850fa-d23e-4296-a83f-36bf6ac9ba3b"
      unitRef="U_USD">143000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff"
      decimals="-3"
      id="F_b104e112-0fea-4396-86dd-2b3f557871fb"
      unitRef="U_USD">46973000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff"
      decimals="-5"
      id="F_5a1a736f-5756-48ea-bdc5-830a6d2a6c6c"
      unitRef="U_USD">35700000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock
      contextRef="C_dbc99887-a384-479d-a23e-5365e742bd7b"
      id="F_a50b05f6-3944-4c02-a7fb-243095e3dd2e">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table sets forth the components of the identified intangible assets associated with the Polymem Acquisition and their estimated useful lives:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.871%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:19.884%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.604%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Useful life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Developed technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademark and tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Non-competition agreements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5 years&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;312&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,096&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_abc6d87e-0b6b-412d-99d2-368b6cead43d"
      id="F_f7f73113-a999-46a4-9cfe-742ea4a2ca20">P13Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_0636f0b2-82e8-4d4a-8689-7980ef3c140d"
      decimals="-3"
      id="F_955491cf-32ce-4f9f-9fab-b926d7292bf1"
      unitRef="U_USD">8274000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_6b7a8e21-e6f3-4d79-a2c3-b393af8f8a43"
      id="F_91671b9f-7288-4fdd-a2cd-4c32681579ae">P14Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_b31196e7-7730-407e-87ad-427e92d47547"
      decimals="-3"
      id="F_f3f230f7-a555-4707-b926-491fd5a24c83"
      unitRef="U_USD">510000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="C_f1cd9d79-74d1-4139-a63f-c0ab3c265986"
      id="F_8e901a9a-2bdd-438f-9eed-acad569d4b79">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_57f35866-0a0e-4f03-9e1f-0e6bfdbe887f"
      decimals="-3"
      id="F_ab9d9d67-6580-49af-8bfc-cd354fa47c40"
      unitRef="U_USD">312000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_67b31ea2-cbfd-4990-8434-91625653cfff"
      decimals="-3"
      id="F_54190708-43f8-4f56-9f98-df5108272420"
      unitRef="U_USD">9096000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_3987b39e-ef44-445f-a216-1190cff4fa01">&lt;div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;"&gt;5.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Restructuring Plan&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In July 2023, the Board authorized the Company's management team to undertake restructuring activities to simplify and streamline our organization and strengthen the overall effectiveness of our operations. In addition to the initial streamlining and re-balancing efforts contemplated in July, the Company is undertaking further restructuring activities (collectively, the &#x201c;Restructuring Plan&#x201d;) which include consolidating a portion of our manufacturing operations between certain U.S. locations, discontinuing the sale of certain product SKUs, and evaluating the fair value of finished goods and raw materials, mostly secured during the 2020-2022 COVID-19 pandemic period (the &#x201c;COVID-19 Period&#x201d;) to meet increasing demand during a challenging supply chain environment in the industry.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company recorded pre-tax costs of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in 2023 related to the Restructuring Plan and expects the Restructuring Plan to be completed by the end of the third quarter of 2024. Of the $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in pre-tax costs in 2023, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million is non-cash, relating primarily to inventory adjustments to record inventory at net realizable value and accelerated depreciation on equipment related to the shutdown of manufacturing facilities and production lines, the remaining costs are cash expenses, primarily related to severance and employee-related costs.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table summarizes the charges related to restructuring activities by type of cost:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:28.071%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.825%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.905%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.624%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.264%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.904%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="18" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Year Ended December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Severance &amp;amp; Employee-Related Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Inventory Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Accelerated Depreciation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Facility and Other Exit Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="18" style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cost of product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,077&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,588&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,788&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;933&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,386&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;116&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;116&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Selling, general and administrative&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,532&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;138&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,698&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,725&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,588&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,071&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,200&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Severance and employee-related costs under the Restructuring Plan are associated with actual headcount reductions. Costs incurred include cash severance and non-cash severance, including other termination benefits. Severance and other termination benefit packages are based on established benefit arrangements or local statutory requirements and we recognized the contractual component of these benefits when payment was probable and could be reasonably estimated.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The inventory adjustments include the impact of the Company discontinuing the sale of certain product SKUs and the impact of having proactively secured materials during the COVID-19 Period to meet accelerated demand during a challenging supply chain environment in the industry. Where demand has reduced, finished goods and raw materials, whose value exceeded the projected requirements to be used before reaching their expiration date, were written down to their realizable value. The Restructuring Plan also includes the closing of manufacturing facilities and production lines, which included inventory that could not be repurposed.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Non-cash charges for accelerated depreciation were recognized on long-lived assets that were taken out of service before the end of their normal service due to the shutdown of manufacturing facilities and production lines, in which case depreciation estimates were revised to reflect the use of the assets over their shortened useful life.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The restructuring accrual is included in accrued liabilities on the condensed consolidated balance sheets as of December 31, 2023 and the balance has been paid as of that date. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Activity related to the Restructuring Plan for 2023 was as follows (amounts in thousands):&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:32.326%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.903%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.143%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.523%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.102%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Restructuring Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amounts Paid in 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Non-Cash Restructuring Items&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Restructuring Liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Severance &amp;amp; employee-related costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,725&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,044&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;217&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;464&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,588&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,588&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accelerated depreciation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Facility exit and other exit costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,071&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,061&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,200&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,105&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,631&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;464&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock>
    <us-gaap:RestructuringCosts
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-5"
      id="F_9faa1f9f-112c-4e33-b639-972789334733"
      unitRef="U_USD">32200000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-5"
      id="F_fece83e5-fb18-492c-88f8-2c783f11a6f9"
      unitRef="U_USD">32200000</us-gaap:RestructuringCosts>
    <rgen:NoncashInventoryAdjustments
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-5"
      id="F_6675e93c-e899-4c70-944f-2908e2a00111"
      unitRef="U_USD">27600000</rgen:NoncashInventoryAdjustments>
    <us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_32741cc2-0bff-4b9c-845b-0ee573715577">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table summarizes the charges related to restructuring activities by type of cost:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:28.071%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.825%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.905%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.624%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.264%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.281%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.904%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="18" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Year Ended December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Severance &amp;amp; Employee-Related Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Inventory Adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Accelerated Depreciation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Facility and Other Exit Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="18" style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cost of product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,077&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,588&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,788&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;933&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,386&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;116&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;116&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Selling, general and administrative&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,532&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;138&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,698&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,725&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,588&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,071&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,200&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock>
    <us-gaap:RestructuringCosts
      contextRef="C_fc61bcb4-5f09-45af-931a-1be17723fb6a"
      decimals="-3"
      id="F_c5324aff-0aad-49c4-bec2-ed3b863701f0"
      unitRef="U_USD">2077000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_59c6cb12-a821-424b-958a-8e1dccd5124a"
      decimals="-3"
      id="F_cd7bf855-90c4-4312-ae81-54dfaa70316e"
      unitRef="U_USD">23588000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_429cb6c7-82dd-45cb-8326-f24b2227ecb5"
      decimals="-3"
      id="F_e97cbe1e-bc07-4f9f-9a7f-a3105457fa67"
      unitRef="U_USD">3788000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_2272654c-228a-40b4-950d-0d2fa143ab89"
      decimals="-3"
      id="F_d17a72ef-9da0-4040-a2f3-ff194eb9bc9b"
      unitRef="U_USD">933000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_dc7d7eec-9f46-46e4-8509-341b45573209"
      decimals="-3"
      id="F_b9cf7632-23e4-46b8-8d3c-bee53d84baf4"
      unitRef="U_USD">30386000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_0855d97c-19d9-40a6-855f-1ec0869199c1"
      decimals="-3"
      id="F_f29a2547-5166-4730-810b-075f5bc7f7bb"
      unitRef="U_USD">116000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_3de5f0a2-8ee1-4896-a6eb-e9e2e357d07a"
      decimals="-3"
      id="F_49623fe4-6a38-4901-a45c-9f19d8e42f69"
      unitRef="U_USD">0</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_dc97e7ca-b3fe-4699-82c8-96257e653e97"
      decimals="-3"
      id="F_5acb119d-3021-463e-951e-a51562a077fe"
      unitRef="U_USD">0</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_4d5da0c2-c998-4203-b661-a923d1491869"
      decimals="-3"
      id="F_f253096f-648c-48b5-9b3f-9df74034a3d1"
      unitRef="U_USD">0</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_b1008982-a0e7-42c3-8ebb-940699378d24"
      decimals="-3"
      id="F_9a6ac1a2-cbf2-428d-a059-b3fecb692ad8"
      unitRef="U_USD">116000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_8eefe805-faf8-4fd4-a5e8-da6b752961dd"
      decimals="-3"
      id="F_eee2cfc1-c5aa-47d0-b831-54681e9ebbb2"
      unitRef="U_USD">1532000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_efffc0ae-2172-43c5-8114-d5bffb7f041e"
      decimals="-3"
      id="F_e5dcd49b-b785-4846-b03c-7542694c2ab8"
      unitRef="U_USD">0</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_629969d7-4fcd-4b75-bca8-a8070fd99748"
      decimals="-3"
      id="F_51d2c985-edfa-48ba-be69-648bb6efe7fe"
      unitRef="U_USD">28000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_5a89aa7f-7234-4cfa-82bd-e359c1c57fef"
      decimals="-3"
      id="F_173b1adf-1682-4341-a6cd-3a01d1ac992c"
      unitRef="U_USD">138000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_95397cde-e80a-4279-b4e9-cf10f1c35dd3"
      decimals="-3"
      id="F_22ae5fc9-f4b0-49c7-bdd1-2ff74ec22a68"
      unitRef="U_USD">1698000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_3f2e82ce-7563-4fd3-b05b-7cd5bf3bf433"
      decimals="-3"
      id="F_59d85c77-05e5-43e7-b1f7-b64cdc84addc"
      unitRef="U_USD">3725000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_eeeb3de4-e5e2-411c-b119-8f88413231a6"
      decimals="-3"
      id="F_a3716c16-85dc-41b9-ae5b-6492b1f2f11b"
      unitRef="U_USD">23588000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_318058e4-eefd-48fc-9c45-d35a613913ff"
      decimals="-3"
      id="F_934d40a8-e7be-4a37-94e2-a9580246ee47"
      unitRef="U_USD">3816000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_8ab693e6-bbbd-4af2-bae9-28eb2bd31104"
      decimals="-3"
      id="F_ba0e44c0-cf9f-4c73-80fe-1655f0c628c7"
      unitRef="U_USD">1071000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_3336129b-a85e-4066-b247-4ca25ef752ea"
      unitRef="U_USD">32200000</us-gaap:RestructuringCosts>
    <us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_bb8f90ee-b90d-4fd3-8699-38a5e8cf5bba">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Activity related to the Restructuring Plan for 2023 was as follows (amounts in thousands):&lt;/span&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:32.326%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.903%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.143%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.523%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.102%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Restructuring Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amounts Paid in 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Non-Cash Restructuring Items&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Restructuring Liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:7.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Severance &amp;amp; employee-related costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,725&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,044&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;217&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;464&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,588&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,588&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accelerated depreciation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Facility exit and other exit costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,071&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,061&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,200&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,105&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,631&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;464&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock>
    <us-gaap:RestructuringCosts
      contextRef="C_3f2e82ce-7563-4fd3-b05b-7cd5bf3bf433"
      decimals="-3"
      id="F_3156396e-d0cf-4f7d-9f9b-63c46cd44e69"
      unitRef="U_USD">3725000</us-gaap:RestructuringCosts>
    <us-gaap:PaymentsForRestructuring
      contextRef="C_3f2e82ce-7563-4fd3-b05b-7cd5bf3bf433"
      decimals="-3"
      id="F_7050600a-dfca-4d7c-8168-d8dd5e8913a6"
      unitRef="U_USD">3044000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="C_3f2e82ce-7563-4fd3-b05b-7cd5bf3bf433"
      decimals="-3"
      id="F_fb5d2337-06a9-46bf-bd58-ffe29e6029c8"
      unitRef="U_USD">217000</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserve
      contextRef="C_f9061e21-e0a8-43ae-a507-63f7652b4a10"
      decimals="-3"
      id="F_9f1e7254-a712-4f32-943f-158b23a4f2ed"
      unitRef="U_USD">464000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringCosts
      contextRef="C_eeeb3de4-e5e2-411c-b119-8f88413231a6"
      decimals="-3"
      id="F_c9063bd8-f72d-4e77-9c66-6ca76f24c4e7"
      unitRef="U_USD">23588000</us-gaap:RestructuringCosts>
    <us-gaap:PaymentsForRestructuring
      contextRef="C_eeeb3de4-e5e2-411c-b119-8f88413231a6"
      decimals="-3"
      id="F_c9d8a1cd-56f8-4faf-8767-bc5e405b9c6f"
      unitRef="U_USD">0</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="C_eeeb3de4-e5e2-411c-b119-8f88413231a6"
      decimals="-3"
      id="F_4639309b-c21e-448a-a310-b54f5a833198"
      unitRef="U_USD">23588000</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserve
      contextRef="C_e1e72716-495b-42c4-b383-0caca559d128"
      decimals="-3"
      id="F_67b3038b-24b5-4fcc-8a3e-00c00a127483"
      unitRef="U_USD">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringCosts
      contextRef="C_318058e4-eefd-48fc-9c45-d35a613913ff"
      decimals="-3"
      id="F_eca407d9-9a37-47fb-955c-a46a98b5c376"
      unitRef="U_USD">3816000</us-gaap:RestructuringCosts>
    <us-gaap:PaymentsForRestructuring
      contextRef="C_318058e4-eefd-48fc-9c45-d35a613913ff"
      decimals="-3"
      id="F_9cfafcf6-606e-433a-b709-16313deca207"
      unitRef="U_USD">0</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="C_318058e4-eefd-48fc-9c45-d35a613913ff"
      decimals="-3"
      id="F_12eed143-ebc3-496c-af3f-1a0c57e31c15"
      unitRef="U_USD">3816000</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserve
      contextRef="C_83869e39-3aef-449d-8cf6-0f4760a4b0eb"
      decimals="-3"
      id="F_eda8322a-456f-4018-a67e-4478d285117c"
      unitRef="U_USD">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringCosts
      contextRef="C_db538168-e071-4221-adec-303658be9d4c"
      decimals="-3"
      id="F_0b8b564e-84fe-4216-8a91-2f175e89a191"
      unitRef="U_USD">1071000</us-gaap:RestructuringCosts>
    <us-gaap:PaymentsForRestructuring
      contextRef="C_db538168-e071-4221-adec-303658be9d4c"
      decimals="-3"
      id="F_ff5d01eb-edc0-4a58-9022-c00ae4cac3d8"
      unitRef="U_USD">1061000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="C_db538168-e071-4221-adec-303658be9d4c"
      decimals="-3"
      id="F_3e55f40b-6bc2-48a5-be5f-869fe0e6b8d9"
      unitRef="U_USD">10000</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserve
      contextRef="C_1ad325f0-3cde-42a7-9403-d3a899ab7b92"
      decimals="-3"
      id="F_665edfe8-16cd-471c-84b9-1d2c341d66f8"
      unitRef="U_USD">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringCosts
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_2134b5f5-f433-4129-a7dd-1dc657a1157b"
      unitRef="U_USD">32200000</us-gaap:RestructuringCosts>
    <us-gaap:PaymentsForRestructuring
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_6c3836fd-b4ab-413c-840a-5686efcc0e4d"
      unitRef="U_USD">4105000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_58330419-f499-420e-bd5e-9f27c2bc3799"
      unitRef="U_USD">27631000</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserve
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_0de1a40f-3a5b-4ebf-a887-3c083fdf7403"
      unitRef="U_USD">464000</us-gaap:RestructuringReserve>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_2e6db624-4e89-48e0-90be-8242c6ea36e9">&lt;div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;"&gt;6.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Leases&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 13 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 non-lease 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;As of December 31, 2023 and 2022, operating lease right of use assets wer&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;e $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; m&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;illion and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;125.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively and operating lease liabilities were &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;132.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;138.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively. The addition of FlexBiosys and Metenova in 2023 added &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43,833&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; square feet to our leased properties and as a result of that and the expansion in Toulouse, France, the operating right of use asset balance increased $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in 2023, as compared to 2022. However, the consolidated right of use assets balance decreased due to the normal amortization of existing leases during 2023.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;   &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The maturities of the Company&#x2019;s operating lease liabilities as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 are as follows (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:72.84%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.2%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:22.959999999999997%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,585&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2025&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,645&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2026&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,406&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2027&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,944&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2028&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,382&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2029 and thereafter&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;79,435&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total future minimum lease payments&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;201,397&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Less lease incentives&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,765&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Less amount of lease payment representing interest&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,595&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total operating lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;159,037&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;The future minimum lease payments include obligations for leases not yet commenced of $&lt;/span&gt;&lt;span style="font-size:9pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt; million for manufacturing, office and warehouse facilities. These leases have terms of between &lt;/span&gt;&lt;span style="font-size:9pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;5&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt; and &lt;/span&gt;&lt;span style="font-size:9pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt; years and commence during the first quarter of 2024.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total operating lease liabilities included on the Company&#x2019;s consolidated balance sheets are as follows (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.28%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.74%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.619999999999997%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.74%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.619999999999997%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,631&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,957&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,578&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;131,389&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Minimum operating lease payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;132,209&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;138,346&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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. &lt;/span&gt;&lt;span style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;For the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021, total lease cost is comprised of the following:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:44.489%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.26%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Lease Cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,981&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,833&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,838&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Variable operating lease cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,075&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11,317&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,118&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Lease cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,056&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,150&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16,956&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following information represents supplemental disclosure for the consolidated statements of cash flows related to operating leases (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:44.489%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.26%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,862&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,757&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,863&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, were:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:75.735%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.42%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.844%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Weighted average remaining lease term (years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.74&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Weighted average discount rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.13&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-5"
      id="F_c3f39d3a-37da-446d-a505-46380a40f5ab"
      unitRef="U_USD">115500000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-5"
      id="F_7306816e-6e5d-451d-b322-556508a46a48"
      unitRef="U_USD">125000000</us-gaap:OperatingLeaseRightOfUseAsset>
    <rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-5"
      id="F_d22f1a64-046d-449d-825c-9b36e888ef90"
      unitRef="U_USD">132200000</rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases>
    <us-gaap:OperatingLeaseLiability
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-5"
      id="F_5a38a22a-6198-42c9-a91c-5bba3d56a7ce"
      unitRef="U_USD">138300000</us-gaap:OperatingLeaseLiability>
    <us-gaap:AreaOfLand
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="INF"
      id="F_a185c350-1871-405f-8edc-fb0cf1f0766c"
      unitRef="U_sqft">43833</us-gaap:AreaOfLand>
    <rgen:IncreaseDecreaseInOperatingLeaseAsset
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-5"
      id="F_7cdb8f73-2777-40bf-bc13-94a53830ab5e"
      unitRef="U_USD">4000000</rgen:IncreaseDecreaseInOperatingLeaseAsset>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_cca5dad4-759e-465b-861a-e0eccc1d1b8f">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The maturities of the Company&#x2019;s operating lease liabilities as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 are as follows (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:72.84%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.2%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:22.959999999999997%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;As of December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,585&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2025&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,645&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2026&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,406&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2027&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23,944&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2028&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,382&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2029 and thereafter&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;79,435&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total future minimum lease payments&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;201,397&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Less lease incentives&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,765&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Less amount of lease payment representing interest&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,595&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total operating lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;159,037&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;The future minimum lease payments include obligations for leases not yet commenced of $&lt;/span&gt;&lt;span style="font-size:9pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt; million for manufacturing, office and warehouse facilities. These leases have terms of between &lt;/span&gt;&lt;span style="font-size:9pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;5&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt; and &lt;/span&gt;&lt;span style="font-size:9pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"&gt; years and commence during the first quarter of 2024.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_3caa3d6d-5a83-4807-b827-da1a83e523db"
      unitRef="U_USD">22585000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_6f56d20e-3da2-45db-bd2d-e21d94955921"
      unitRef="U_USD">25645000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_c46e7780-eb19-4bd8-96ca-ef91fa83681f"
      unitRef="U_USD">25406000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_8bafe304-3012-459d-ae65-1e05304f4ad0"
      unitRef="U_USD">23944000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_31638b4f-f067-4571-9ae0-18f02e04cd3b"
      unitRef="U_USD">24382000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_1995b424-8dd7-4e19-abe5-e695304c036a"
      unitRef="U_USD">79435000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_aa3486e6-96b3-4758-83e4-67b320528ac3"
      unitRef="U_USD">201397000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <rgen:LeaseIncentives
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_ecec6ca9-61ac-44b5-94dd-34157a3a1fa4"
      unitRef="U_USD">9765000</rgen:LeaseIncentives>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_9dbd7f3b-ab6b-4173-9254-d84d1995ba27"
      unitRef="U_USD">32595000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_1b71545e-c713-457b-bcf7-0f28bec3f029"
      unitRef="U_USD">159037000</us-gaap:OperatingLeaseLiability>
    <rgen:LeaseObligationsNotYetCommenced
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-5"
      id="F_5718c7c1-e2cc-4aa7-9ece-4f630964df52"
      unitRef="U_USD">26800000</rgen:LeaseObligationsNotYetCommenced>
    <us-gaap:LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1
      contextRef="C_d44873d0-5bbc-4020-be55-4d5fb3f6c3b1"
      id="F_0ba408bc-9edb-452d-b4af-f0217c3d1dd9">P5Y</us-gaap:LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1>
    <us-gaap:LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1
      contextRef="C_6c317fe5-5e9d-47bb-aa7b-c2c6fb4e8240"
      id="F_38b9f218-00ae-40bf-8fce-c978f3c5f6c7">P10Y</us-gaap:LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1>
    <rgen:AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_632a24ce-06e3-4736-8b26-d91d7b2dccc3">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total operating lease liabilities included on the Company&#x2019;s consolidated balance sheets are as follows (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.28%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.74%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.619999999999997%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.74%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.619999999999997%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,631&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,957&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liability, long-term&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,578&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;131,389&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Minimum operating lease payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;132,209&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;138,346&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</rgen:AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_deaf1330-6c7c-463f-a4eb-69a894544292"
      unitRef="U_USD">5631000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_950896df-b2d0-4c8c-986a-7f3a27afcaee"
      unitRef="U_USD">6957000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_5e7e4f99-6dfd-4884-a661-f2dbb948d71d"
      unitRef="U_USD">126578000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_f27c638e-7a65-4f3b-99c1-51e9c1a4302f"
      unitRef="U_USD">131389000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_562faeaf-0772-4cf6-a603-e5f9acaa80ab"
      unitRef="U_USD">132209000</rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases>
    <rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_782148e6-cda8-4903-9eae-a289161a158f"
      unitRef="U_USD">138346000</rgen:OperatingLeaseLiabilitiesExcludingControlNotConveyedLeases>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_adbde818-5baa-4b2c-ae80-66c426eb5643">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;For the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021, total lease cost is comprised of the following:&lt;/span&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:44.489%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.26%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Lease Cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,981&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,833&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,838&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Variable operating lease cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,075&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11,317&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,118&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Lease cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,056&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,150&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16,956&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_6b3fcabb-8f9c-45d7-ae42-a11ff44d62fb"
      unitRef="U_USD">20981000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_12d5674b-bde3-4fbd-bf10-416442f33468"
      unitRef="U_USD">17833000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_ec5a3539-2de6-4a67-82f6-12d161c6dad2"
      unitRef="U_USD">9838000</us-gaap:OperatingLeaseCost>
    <rgen:VariableOperatingLeaseCost
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_e82f7557-2e2d-49b5-b414-4e31ab0b9c48"
      unitRef="U_USD">4075000</rgen:VariableOperatingLeaseCost>
    <rgen:VariableOperatingLeaseCost
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_da2b970e-d477-4ec5-a7c7-2c6c160e9d8c"
      unitRef="U_USD">11317000</rgen:VariableOperatingLeaseCost>
    <rgen:VariableOperatingLeaseCost
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_58175058-3c23-4c00-baad-b796f15596c7"
      unitRef="U_USD">7118000</rgen:VariableOperatingLeaseCost>
    <us-gaap:LeaseCost
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_1f7067d6-2b6a-47b2-9de7-653f496ecc1d"
      unitRef="U_USD">25056000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_5de0b5e7-7b50-4663-badd-32c4b1ca7bcb"
      unitRef="U_USD">29150000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_8cbab1ad-2d94-4310-a879-7f9f92f8f8ee"
      unitRef="U_USD">16956000</us-gaap:LeaseCost>
    <rgen:ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_02e7cafc-ccc4-44de-ab79-4074885435fa">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following information represents supplemental disclosure for the consolidated statements of cash flows related to operating leases (amounts in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:44.489%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.5%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.26%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.083%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,862&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,757&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,863&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</rgen:ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_1214799f-90cc-438f-ba85-ecb2aa49d358"
      unitRef="U_USD">17862000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_822822c1-885c-48e7-b69d-a26b99b10ded"
      unitRef="U_USD">13757000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_36d72ff6-1259-48b3-8521-8fffbf804855"
      unitRef="U_USD">8863000</us-gaap:OperatingLeasePayments>
    <rgen:ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_268a2f67-d610-402b-9d45-db25ac4b3a91">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, were:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:75.735%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.42%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.844%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Weighted average remaining lease term (years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.74&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Weighted average discount rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.13&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</rgen:ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      id="F_9b075af6-5cb6-48bd-9d43-fa0807a33261">P7Y8M26D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="4"
      id="F_5d270ce1-0a59-4508-863f-ccab9f40eb82"
      unitRef="U_pure">0.0413</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_6dd98300-c2d7-4f26-abc7-2d62181adab7">&lt;div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;"&gt;7.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Revenue from Contracts with Customers,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Disaggregation of Revenue&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Revenue for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021 was as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:49.24%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.66%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.26%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.66%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.26%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.66%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.26%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;638,381&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;801,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Royalty and other income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;383&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;353&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;638,764&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;801,536&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;When disaggregating revenue, the Company considered all of the economic factors that may affect its revenues.  Because 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.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Disaggregated revenue from contracts with customers by geographic region can be found in Note 2, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Summary of Significant Accounting Policies &#x2013; Segment Reporting,&#x201d;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; above.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;There was &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; revenue from customers that represented &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% or more of the Company's total revenue for the year ended December 31, 2023 and 2022. Revenue from Pfizer Inc. was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;68.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, or &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;%, of the Company's total revenue for the year ended December 31, 2021.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Filtration Products&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s filtration products generate revenue through the sale of KrosFlo and ARTeSYN tangential flow filtration (&#x201c;TFF&#x201d;) systems, TangenX&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; flat sheet (&#x201c;FS") cassettes, Spectrum&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; HF filters, membranes and modules, XCell ATF systems and related consumables. Supporting our systems, we also sell ProConnex&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; Flow Path assemblies and custom silicone-based, single-use flow path assemblies and components from Metenova, FlexBiosys, BioFlex, Polymem, ARTeSYN Biosolutions Holdings Ireland Limited, NMS and EMT, seven acquisitions completed since 2020.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s KrosFlo and ARTeSYN 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 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;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s TangenX FS cassettes (SIUS, SIUS Gamma&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 FS cassettes is generally recognized at a point in time upon transfer of control of the customer.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;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 606-10-55-18.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company also markets XCell ATF controllers, which are technologically advanced filtration devices 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 controllers are typically sold with consumables (i.e., tubing sets, metal stands) as well as training and installation services at the request of the customer. The controllers and consumables are considered distinct products and therefore represent separate performance obligations. First time purchasers of the controllers typically purchase a controller that is shipped with the tubing set(s) and metal stand(s). The training and installation services do not significantly modify or customize the XCell ATF controllers and therefore represent a distinct performance obligation. XCell ATF product revenue related to controllers and consumables is generally recognized at a point in time upon transfer of control to the customer.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Chromatography Products&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 pre-packed chromatography column product line. OPUS columns are designed to be disposable following a production campaign. Each OPUS column is delivered pre-packaged with the customer&#x2019;s choice of chromatography resin, which is either provided by the Company for the customer or is customer supplied. Chromatography product revenue is generally recognized at a point in time upon transfer of control to the customer and represents a single performance obligation.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Process Analytics Products&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The process analytics franchise generates revenue primarily through the sale of the SoloVPE and FlowVPX slope spectroscopy systems, consumables and service. These products complement and support the Company&#x2019;s existing filtration, chromatography and proteins franchises as they allow end-users to make in-line protein concentration measurements in filtration, chromatography and fill-finish applications, designed to allow for real-time process management. Process analytics product revenue is generally recognized at a point in time upon transfer of control to the customer.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Protein Products&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s protein franchise generates revenue primarily 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;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In 2021, the Company completed the Avitide Acquisition and added its diverse libraries and leading technology in affinity ligand discovery and development to its proteins franchise. The acquisition gives the Company a new platform for affinity resin development, including C&amp;amp;GT, and advances and expands the Company&#x2019;s proteins and chromatography franchises to address the unique purification needs of gene therapies and other emerging modalities.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Other Products&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Transaction Price Allocated to Future Performance Obligations&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;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 606-10-50-14.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Contract Balances from Contracts with Customers&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table provides information about receivables and deferred revenue from contracts with customers as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 (amounts in thousands):&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:70.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:67.72%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.64%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.040000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.64%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.96%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balances from contracts with customers only:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;124,161&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;116,247&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred revenue (included in accrued liabilities and&lt;br/&gt;&#160;&#160;&#160;other noncurrent liabilities in the consolidated &lt;br/&gt;&#160;&#160;&#160;balance sheets)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,755&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,631&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue recognized during periods presented relating to:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;The beginning deferred revenue balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18,751&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,390&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Costs to Obtain or Fulfill a Customer Contract&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Applying the practical expedient in paragraph 340-40-25-4, 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 statements 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;/span&gt;&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_955d35dc-73cd-4763-b5cf-053735639718">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Revenue for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021 was as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:49.24%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.66%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.26%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.66%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.26%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.66%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.26%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;638,381&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;801,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Royalty and other income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;383&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;353&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;word-break:break-word;"&gt;
        &lt;td style="background-color:#cff0fc;text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;638,764&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;801,536&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_dee2a31b-7253-47c6-9660-f5b5e672b177"
      decimals="-3"
      id="F_b4b814aa-9c1f-4897-a2e7-d9a653471ff2"
      unitRef="U_USD">638381000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_9011b1f0-543e-44f7-aa9b-706c7c794f92"
      decimals="-3"
      id="F_6b40d517-864e-4e99-9c76-db628608a3f1"
      unitRef="U_USD">801183000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_4963f6f6-5033-4b4e-af94-a330c4799802"
      decimals="-3"
      id="F_765914db-16e6-45c8-8b59-fe9c4da35b37"
      unitRef="U_USD">383000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_8b504674-e4ca-4879-959d-9ace15ea74ed"
      decimals="-3"
      id="F_a01af6c4-1cd9-411a-b787-ecc1652f1130"
      unitRef="U_USD">353000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_1aee5ccf-8ff7-40a8-8419-c00699889b8d"
      unitRef="U_USD">638764000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_3f9c8b31-6ac1-4a9c-bc47-889c9bd5e4b0"
      unitRef="U_USD">801536000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_7033f524-e20c-4e28-a2e1-5b4cac1b4acd"
      decimals="INF"
      id="F_6e8d3b4d-b308-49d8-8e59-b53065aa97ff"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_d4226f43-13ba-4627-af05-aec207a83722"
      decimals="INF"
      id="F_44b9949b-e70b-488c-a6a0-520a085452ff"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_921a48f8-4769-4d33-a7a3-7e05610adf24"
      decimals="2"
      id="F_99926ef6-b768-474d-90ee-71543c51176f"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_8876d512-9885-487e-975e-5ffa51ba8df7"
      decimals="2"
      id="F_adfd22f6-2740-4fab-b73c-c390ecdbca54"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="C_756eb3ed-ae42-4205-869e-4c89654b3269"
      decimals="-5"
      id="F_348a2963-7095-47d5-a32e-97d11fe22e6b"
      unitRef="U_USD">68300000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_49349e53-b04d-4615-92ad-de5a82724747"
      decimals="2"
      id="F_c51b3304-d53d-4a74-a759-caca9da91aa4"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_9b426285-cb0e-4122-a5b5-af5d25ad2b12">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table provides information about receivables and deferred revenue from contracts with customers as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 (amounts in thousands):&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:70.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:67.72%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.64%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.040000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.64%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.96%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balances from contracts with customers only:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;124,161&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;116,247&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred revenue (included in accrued liabilities and&lt;br/&gt;&#160;&#160;&#160;other noncurrent liabilities in the consolidated &lt;br/&gt;&#160;&#160;&#160;balance sheets)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,755&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,631&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Revenue recognized during periods presented relating to:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;The beginning deferred revenue balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18,751&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,390&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerReceivableAfterAllowanceForCreditLoss
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_b20a0485-58e6-46b0-a1b6-2bf2f469c034"
      unitRef="U_USD">124161000</us-gaap:ContractWithCustomerReceivableAfterAllowanceForCreditLoss>
    <us-gaap:ContractWithCustomerReceivableAfterAllowanceForCreditLoss
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_fa198ab3-2ee4-4680-9aea-8a91bd3aba61"
      unitRef="U_USD">116247000</us-gaap:ContractWithCustomerReceivableAfterAllowanceForCreditLoss>
    <us-gaap:DeferredRevenue
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_77b6303c-406a-49fc-8ae1-f5460707a9f5"
      unitRef="U_USD">10755000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenue
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_2647a1ec-a07d-4a99-9e48-9ef792bde05b"
      unitRef="U_USD">19631000</us-gaap:DeferredRevenue>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_e9933ee2-4e15-4296-9e34-d91a56f62b3e"
      unitRef="U_USD">18751000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_32473937-523c-428f-9e32-e1b2fcc97382"
      unitRef="U_USD">13390000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:CreditLossFinancialInstrumentTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_6bc672e5-11f4-4b2e-bc96-ca0b8c9fb3dd">&lt;div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;"&gt;8.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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' 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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,&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;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 uncollectible 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The accounts receivable balance on the Company&#x2019;s consolidated balance sheets as of December 31, 2023 was&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;124.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, net o&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;f $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;"&gt;2.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of allowances. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table provides a roll-forward of the allowance for credit losses in 2023 and 2022 that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (amounts in thousands):&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance of allowance for credit losses, beginning of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,365&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,417&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Current period change for write-offs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;82&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Current period change for expected credit losses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;839&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance of allowance for credit losses, end of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,122&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,365&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:CreditLossFinancialInstrumentTextBlock>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-5"
      id="F_adbe6104-95a8-46dd-ac4b-b2d14d9d371e"
      unitRef="U_USD">124200000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-5"
      id="F_9ac05150-b538-472d-9138-92484257afd8"
      unitRef="U_USD">2100000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_47169d93-c807-49e5-aac5-38887b62d3cb">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table provides a roll-forward of the allowance for credit losses in 2023 and 2022 that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (amounts in thousands):&lt;/span&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance of allowance for credit losses, beginning of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,365&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,417&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Current period change for write-offs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;82&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Current period change for expected credit losses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;839&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance of allowance for credit losses, end of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,122&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,365&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_4379ace4-26a4-4e2e-bfbc-1a10eac00a1d"
      unitRef="U_USD">1365000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af"
      decimals="-3"
      id="F_b1fb4985-e7bc-4c71-94dd-3ae14b56b90a"
      unitRef="U_USD">1417000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_884ca320-9690-423c-9611-1bd2705c2ada"
      unitRef="U_USD">82000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_c3ce5b34-b7e1-4094-9df4-3552c6d1ec89"
      unitRef="U_USD">126000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_046452e7-30eb-456e-b1fc-ec29ed00d21b"
      unitRef="U_USD">-839000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_ede6cd46-9a16-46bb-bbcc-c263ad8383f6"
      unitRef="U_USD">-74000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_04bab1b8-3762-447e-ac8f-4b32fede6bd9"
      unitRef="U_USD">2122000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_2d406bf8-5bf1-4113-9130-13336851bdc9"
      unitRef="U_USD">1365000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_b382e0a6-bebd-4daf-a2b0-b2e69c770315">&lt;div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;"&gt;9.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Goodwill and Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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. &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the changes in the carrying value of goodwill for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 and 2022 (amounts in thousands):&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance as of December 31, 2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;860,362&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Measurement period adjustment - BioFlex&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;346&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Measurement period adjustment - Avitide&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,768&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cumulative translation adjustment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,735&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance as of December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;855,513&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisition of FlexBiosys, Inc.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisition of Metenova Holding AB&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115,778&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cumulative translation adjustment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,508&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance as of December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;987,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During each of the fourth quarters of 2023, 2022 and 2021, the Company completed its annual impairment assessments and concluded that goodwill was not impaired in any of those years.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Intangible Assets&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 existed 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&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;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 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Indefinite-lived intangible assets are tested for impairment at least annually. There has been &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; impairment of our intangible assets for the periods presented.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Intangible assets, net consisted of the following at &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.31%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.258000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.278%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.2%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.298%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.138%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Useful Life&lt;br/&gt;(in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Finite-lived intangible assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Technology - developed&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;249,594&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44,162&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;205,432&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Patents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;269,949&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;83,963&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;185,986&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademarks&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,757&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,789&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,968&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other intangibles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,914&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,514&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,400&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total finite-lived intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;532,454&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;132,668&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;399,786&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Indefinite-lived intangible asset:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademarks&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;533,154&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;132,668&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;400,486&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Intangible assets consisted of the following at December 31, 2022:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.31%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.258000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.278%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.2%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.298%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.138%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Useful Life&lt;br/&gt;(in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Finite-lived intangible assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Technology - developed&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;190,463&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,992&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;159,471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Patents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;252,934&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;66,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;186,375&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademarks&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,682&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,319&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,363&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other intangibles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,811&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,044&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;767&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total finite-lived intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;454,130&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;101,154&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;352,976&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Indefinite-lived intangible asset:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademarks&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;454,830&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;101,154&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;353,676&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Amortization expense for finite-lived intangible assets was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million for the years ended December 31, 2023, 2022 and 2021&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, respectively. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;As of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, the Company expects to record the following amortization expense (amounts in thousands): &lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34,314&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2025&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,879&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2026&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,524&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2027&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,421&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2028&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,689&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2029 and thereafter&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;231,959&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;399,786&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_60b1e818-5349-40f2-9fec-c1e7897cb5a4">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table represents the changes in the carrying value of goodwill for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 and 2022 (amounts in thousands):&lt;/span&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance as of December 31, 2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;860,362&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Measurement period adjustment - BioFlex&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;346&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Measurement period adjustment - Avitide&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,768&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cumulative translation adjustment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,735&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance as of December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;855,513&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisition of FlexBiosys, Inc.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquisition of Metenova Holding AB&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115,778&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cumulative translation adjustment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,508&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance as of December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;987,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af"
      decimals="-3"
      id="F_a8862c80-51e6-41ae-b038-8e47566620d0"
      unitRef="U_USD">860362000</us-gaap:Goodwill>
    <us-gaap:GoodwillPurchaseAccountingAdjustments
      contextRef="C_90f3eb25-6096-41e0-b120-8962a82a3df8"
      decimals="-3"
      id="F_59ea25ab-29e0-4ee9-8052-401bd1e2b855"
      unitRef="U_USD">-346000</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillPurchaseAccountingAdjustments
      contextRef="C_8d429b7c-b04a-429e-8930-499fef59f053"
      decimals="-3"
      id="F_d35192d0-e67f-4598-b3f5-e7fbf4f7896d"
      unitRef="U_USD">-1768000</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_7dcd060f-5282-462c-a8e6-143aab3ceb84"
      unitRef="U_USD">2735000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_ee52b9cd-e521-488e-a7a8-2d6530849aca"
      unitRef="U_USD">855513000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="C_ca77aac6-1dd3-4cdc-9e35-19da5b52b9c0"
      decimals="-3"
      id="F_6e817819-b0b7-423f-b7a1-4d76ff9f5006"
      unitRef="U_USD">14321000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="C_4016e51f-a392-49c5-9c26-e9ddedab261e"
      decimals="-3"
      id="F_78b297c1-c308-4b72-ad49-03df96a0d0bd"
      unitRef="U_USD">115778000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_d89305bf-60b9-4ce7-ac40-323e06d08f49"
      unitRef="U_USD">-1508000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_d47e9439-b5d6-4a76-9d57-d78c3546cb5a"
      unitRef="U_USD">987120000</us-gaap:Goodwill>
    <us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-6"
      id="F_0b5a198f-dfff-47d0-a77a-c8261c8c9a99"
      unitRef="U_USD">0</us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill>
    <rgen:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_2cf32d91-772b-4300-a922-3026bde76f80">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Intangible assets, net consisted of the following at &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.31%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.258000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.278%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.2%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.298%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.138%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Useful Life&lt;br/&gt;(in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Finite-lived intangible assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Technology - developed&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;249,594&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44,162&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;205,432&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Patents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;269,949&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;83,963&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;185,986&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademarks&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,757&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,789&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,968&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other intangibles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,914&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,514&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,400&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total finite-lived intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;532,454&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;132,668&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;399,786&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Indefinite-lived intangible asset:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademarks&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;533,154&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;132,668&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;400,486&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Intangible assets consisted of the following at December 31, 2022:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.31%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.258000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.18%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.278%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.2%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.298%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.138%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Useful Life&lt;br/&gt;(in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Finite-lived intangible assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Technology - developed&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;190,463&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,992&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;159,471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Patents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;252,934&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;66,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;186,375&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademarks&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,682&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,319&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,363&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other intangibles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,811&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,044&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;767&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total finite-lived intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;454,130&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;101,154&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;352,976&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Indefinite-lived intangible asset:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Trademarks&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;454,830&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;101,154&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;353,676&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</rgen:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_32215449-730e-4fa0-b7ac-781fd5013fdc"
      decimals="-3"
      id="F_8429dd41-21b2-4d20-a4d5-13609c9da063"
      unitRef="U_USD">249594000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_32215449-730e-4fa0-b7ac-781fd5013fdc"
      decimals="-3"
      id="F_f94663e3-5e61-4376-be68-030ea08aa45e"
      unitRef="U_USD">44162000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_32215449-730e-4fa0-b7ac-781fd5013fdc"
      decimals="-3"
      id="F_354e4d47-7b90-4618-997b-7637e260e86d"
      unitRef="U_USD">205432000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_32215449-730e-4fa0-b7ac-781fd5013fdc"
      id="F_bdf9cdb9-918d-4e40-8ba4-e9d0d467d8f3">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_5e52ff09-0c2f-4c4c-8f25-02befc4fc5a6"
      decimals="-3"
      id="F_50620dc3-bb12-4a27-b2a7-0204d9fc44d1"
      unitRef="U_USD">240000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_5e52ff09-0c2f-4c4c-8f25-02befc4fc5a6"
      decimals="-3"
      id="F_f7154480-6929-48c9-b583-afaf79c5bb99"
      unitRef="U_USD">240000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_5e52ff09-0c2f-4c4c-8f25-02befc4fc5a6"
      decimals="-3"
      id="F_dd389d33-ec34-43e7-a408-4568c1b25204"
      unitRef="U_USD">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_5e52ff09-0c2f-4c4c-8f25-02befc4fc5a6"
      id="F_451e3df1-751f-426b-b856-046d484ec53e">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_af29254a-97fe-49f0-93bd-b356ee735f3b"
      decimals="-3"
      id="F_3b8de15b-5574-4666-9a55-3fcb04e865dc"
      unitRef="U_USD">269949000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_af29254a-97fe-49f0-93bd-b356ee735f3b"
      decimals="-3"
      id="F_c9500c76-70ab-4e44-b6ac-1c4be05aeeae"
      unitRef="U_USD">83963000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_af29254a-97fe-49f0-93bd-b356ee735f3b"
      decimals="-3"
      id="F_a6094ec3-c42f-4534-8214-204f18aa1cd5"
      unitRef="U_USD">185986000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_af29254a-97fe-49f0-93bd-b356ee735f3b"
      id="F_b35aba34-ccfc-4c8d-9cc1-5be5f298de7e">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_2c1ea27c-b234-4def-9024-deb8afedfee8"
      decimals="-3"
      id="F_ccb71f8c-a4bd-4846-a234-6a76c1ecc5dc"
      unitRef="U_USD">8757000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_2c1ea27c-b234-4def-9024-deb8afedfee8"
      decimals="-3"
      id="F_77f79e8d-c5da-40ca-8672-f86b90519c12"
      unitRef="U_USD">1789000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_2c1ea27c-b234-4def-9024-deb8afedfee8"
      decimals="-3"
      id="F_ab7e1351-6b19-4e8e-9d53-3839a43d3a1f"
      unitRef="U_USD">6968000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_2c1ea27c-b234-4def-9024-deb8afedfee8"
      id="F_5c21e2f8-8e25-4434-a115-237d674f4f48">P19Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_76b0becf-00cf-4745-b3a9-ee1d2ad42d5c"
      decimals="-3"
      id="F_83d2d5ad-29ca-45dc-a299-432d9eccb9b2"
      unitRef="U_USD">3914000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_76b0becf-00cf-4745-b3a9-ee1d2ad42d5c"
      decimals="-3"
      id="F_16a4c1e1-21bf-4f4e-a436-8b1f10a9bbde"
      unitRef="U_USD">2514000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_76b0becf-00cf-4745-b3a9-ee1d2ad42d5c"
      decimals="-3"
      id="F_eb1bdb11-b28d-4fb9-a0d2-962ce952d7db"
      unitRef="U_USD">1400000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_76b0becf-00cf-4745-b3a9-ee1d2ad42d5c"
      id="F_8240c421-a2a5-4fda-b35c-aa63c17acde3">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_da506225-d711-4c3f-8f59-1f5d6d6e1f38"
      unitRef="U_USD">532454000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_4f6c5c36-49d7-49d5-8ecd-b59137c2ddb3"
      unitRef="U_USD">132668000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_ea3f9302-9f2c-4e24-8b8e-b53538892757"
      unitRef="U_USD">399786000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      id="F_66a54eb5-14b9-4dd1-8044-c140385991bc">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="C_2c1ea27c-b234-4def-9024-deb8afedfee8"
      decimals="-3"
      id="F_9e7e921e-f612-4835-8e21-a31220c03325"
      unitRef="U_USD">700000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <rgen:IndefiniteLivedIntangibleAssetsNet
      contextRef="C_2c1ea27c-b234-4def-9024-deb8afedfee8"
      decimals="-3"
      id="F_43e30132-c3e0-4912-8282-e3375422c4d7"
      unitRef="U_USD">700000</rgen:IndefiniteLivedIntangibleAssetsNet>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_70315e0f-c9da-4753-a727-291d89a5cf31"
      unitRef="U_USD">533154000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_30ed9473-4156-4213-b36d-e0f1b3b3f120"
      unitRef="U_USD">-132668000</rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_8eebd0c9-d901-4c86-8858-67667bfcb699"
      unitRef="U_USD">400486000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_4047a929-48bd-4b7f-ab2c-422de8b51ffc"
      decimals="-3"
      id="F_db9cdcfd-9cbc-449f-a4ff-06ef43cc213d"
      unitRef="U_USD">190463000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_4047a929-48bd-4b7f-ab2c-422de8b51ffc"
      decimals="-3"
      id="F_e580bf63-3f35-4dc5-b9a5-4f171971d2ab"
      unitRef="U_USD">30992000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_4047a929-48bd-4b7f-ab2c-422de8b51ffc"
      decimals="-3"
      id="F_a2814528-3cab-42b6-adaa-6818800147d4"
      unitRef="U_USD">159471000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_4047a929-48bd-4b7f-ab2c-422de8b51ffc"
      id="F_9ffbf5c1-a7e7-4a39-97f2-d005127ed2b3">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_983e3cb9-2df9-4140-b9d8-98b5cf07a14f"
      decimals="-3"
      id="F_82db9df2-499b-44e0-a6db-5042db9a87fb"
      unitRef="U_USD">240000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_983e3cb9-2df9-4140-b9d8-98b5cf07a14f"
      decimals="-3"
      id="F_8b5b0c7c-5134-4f56-a8be-939f8e048e31"
      unitRef="U_USD">240000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_983e3cb9-2df9-4140-b9d8-98b5cf07a14f"
      decimals="-3"
      id="F_b99493e1-6f03-4b4f-a4f9-d19c00263302"
      unitRef="U_USD">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_983e3cb9-2df9-4140-b9d8-98b5cf07a14f"
      id="F_10d3f51d-0501-4d54-b559-4118d55aad61">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_3efdbd7b-4530-4e1b-83f1-bdafb2ce9c5b"
      decimals="-3"
      id="F_2691f03b-e374-458b-8b6b-45ab4333fc0d"
      unitRef="U_USD">252934000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_3efdbd7b-4530-4e1b-83f1-bdafb2ce9c5b"
      decimals="-3"
      id="F_aabb2d0f-7af3-4147-aaf8-debaed5d905a"
      unitRef="U_USD">66559000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_3efdbd7b-4530-4e1b-83f1-bdafb2ce9c5b"
      decimals="-3"
      id="F_8e9a0cb5-1ebe-4d90-ac3a-1dd64fd6a77d"
      unitRef="U_USD">186375000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_3efdbd7b-4530-4e1b-83f1-bdafb2ce9c5b"
      id="F_f7401c1e-127a-474e-bd50-5ec04e80b2b8">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_6984f321-4383-4253-8341-3fe236da2eea"
      decimals="-3"
      id="F_1d45cec9-e472-41aa-a8ba-49ce4434e9fc"
      unitRef="U_USD">7682000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_6984f321-4383-4253-8341-3fe236da2eea"
      decimals="-3"
      id="F_0d47e3f4-0521-44bc-86a3-6d8efb13885d"
      unitRef="U_USD">1319000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_6984f321-4383-4253-8341-3fe236da2eea"
      decimals="-3"
      id="F_af143e9b-6eec-4069-b701-21379658b945"
      unitRef="U_USD">6363000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_6984f321-4383-4253-8341-3fe236da2eea"
      id="F_bbc62308-1144-4e79-9f8b-44033e212522">P19Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_04a7b57c-8c1a-4007-b961-615aab61ee62"
      decimals="-3"
      id="F_80e1ca8f-c759-4ba7-ae13-a46b294b6cd5"
      unitRef="U_USD">2811000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_04a7b57c-8c1a-4007-b961-615aab61ee62"
      decimals="-3"
      id="F_2b6172ab-c75d-41e0-8c7c-5906de851de8"
      unitRef="U_USD">2044000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_04a7b57c-8c1a-4007-b961-615aab61ee62"
      decimals="-3"
      id="F_dcee1aec-0681-4be1-a634-4dcd85198b47"
      unitRef="U_USD">767000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_04a7b57c-8c1a-4007-b961-615aab61ee62"
      id="F_eba39851-425a-4ce8-ba09-18043bc00ecb">P4Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_52190794-cdb1-42b2-8cfd-588d0a47fc8e"
      unitRef="U_USD">454130000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_32b8861a-6e94-49f3-a022-29fa383f453b"
      unitRef="U_USD">101154000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_c8b959e2-701e-43bb-b0a5-037c955b6517"
      unitRef="U_USD">352976000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      id="F_538a4f03-e52c-4db3-9898-70c75c3748c4">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="C_6984f321-4383-4253-8341-3fe236da2eea"
      decimals="-3"
      id="F_25848cb8-6674-4e01-9983-4dd3fba233a8"
      unitRef="U_USD">700000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <rgen:IndefiniteLivedIntangibleAssetsNet
      contextRef="C_6984f321-4383-4253-8341-3fe236da2eea"
      decimals="-3"
      id="F_880699e5-7e4d-43a9-9e46-715712246c09"
      unitRef="U_USD">700000</rgen:IndefiniteLivedIntangibleAssetsNet>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_8af4034d-c00e-4cd1-b182-c134d49e500d"
      unitRef="U_USD">454830000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_b2dd32cd-4ea6-41a0-8270-9a9caf134927"
      unitRef="U_USD">-101154000</rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_1c402188-c197-4af1-b4f7-1e4196c4b77b"
      unitRef="U_USD">353676000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-5"
      id="F_d2b561b6-4d89-4280-9584-7015cd0da34c"
      unitRef="U_USD">31100000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-5"
      id="F_e2a0ae2c-a6b5-4e7f-90af-e2e30c52ffb2"
      unitRef="U_USD">27100000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-5"
      id="F_fb0567e1-64a1-41ed-8505-309ddb0dc61d"
      unitRef="U_USD">22100000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_4db271f3-590a-4f6d-b75b-a0d49c48fe31">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;As of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, the Company expects to record the following amortization expense (amounts in thousands): &lt;/span&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:80.236%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.823%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Estimated&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34,314&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2025&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,879&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2026&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,524&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2027&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,421&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2028&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,689&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2029 and thereafter&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;231,959&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;399,786&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_225a6c1d-3482-4249-b070-c4301593b3c1"
      unitRef="U_USD">34314000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_da8ad07d-134e-434f-976d-1e2575e86340"
      unitRef="U_USD">33879000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_5ec181cc-e3a4-4bb4-90ff-069528e9da2b"
      unitRef="U_USD">33524000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_573fd9e1-4915-4b7d-966d-df8d17d030a5"
      unitRef="U_USD">33421000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_405f52cd-9bde-4300-93d3-499f860f7460"
      unitRef="U_USD">32689000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_ce8d1c9b-6023-4fab-9b64-e98afd4a3239"
      unitRef="U_USD">231959000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_06acafe6-d8d2-4537-b219-626d22b273d1"
      unitRef="U_USD">399786000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_ba6f55f4-bcc1-4261-9282-b6bdfe4fb641">&lt;div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;"&gt;10.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Consolidated Balance Sheet Detail&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Inventories, net&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Inventories, net consists of the following:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Raw materials&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;123,598&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;149,438&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Work-in-process&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,492&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Finished products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;74,231&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;82,656&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total inventories, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;202,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;238,277&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Prepaid Expenses and Other Current Assets&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Prepaid expenses and other current assets consist of the following:&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equipment maintenance and services&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,605&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,135&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,229&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;519&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid insurance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,087&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,909&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,317&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,238&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,837&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Property, Plant and Equipment&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Property, plant and equipment consist of the following:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Land&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;992&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,003&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Buildings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,667&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,599&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Leasehold improvements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,663&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115,672&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;114,606&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;94,613&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Furniture, fixtures and office equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,077&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,307&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Computer hardware and software&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,528&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,813&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Construction in progress&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;47,086&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31,553&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;544&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;420&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total property, plant and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;336,163&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;282,980&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Less - Accumulated depreciation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;128,723&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;92,307&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total property, plant and equipment, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;207,440&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;190,673&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Depreciation expense totaled $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;23.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in the fiscal years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021, respectively.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Accrued Liabilities&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accrued liabilities consist of the following:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Employee compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16,660&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,522&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,287&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,283&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income taxes payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,814&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,459&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16,772&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,856&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;50,533&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;71,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:SupplementalBalanceSheetDisclosuresTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_46ee07f5-63ae-42b5-ba15-ee386b38e366">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Inventories, net&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Inventories, net consists of the following:&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Raw materials&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;123,598&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;149,438&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Work-in-process&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,492&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Finished products&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;74,231&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;82,656&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total inventories, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;202,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;238,277&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_2a7f9a2d-9c9a-493f-90d4-5688ba12e2d1"
      unitRef="U_USD">123598000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_d4838451-db01-4661-b0d2-275d31d8babe"
      unitRef="U_USD">149438000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_80ba18fa-aa81-42fd-bc26-9eda51f879e3"
      unitRef="U_USD">4492000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_02d8d590-9abf-451f-ae45-e39377769206"
      unitRef="U_USD">6183000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_1d8fa0a9-6a71-43d0-8b8f-ea7e09947e26"
      unitRef="U_USD">74231000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_d52b627a-e81a-4d64-9151-bbd9e93384e3"
      unitRef="U_USD">82656000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_d5464aa0-e00c-4410-95e6-bc5b44e6115f"
      unitRef="U_USD">202321000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_c12129fb-2e15-4aca-96c6-f027cfc324a4"
      unitRef="U_USD">238277000</us-gaap:InventoryNet>
    <us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_15b7ab1b-4631-498c-9089-43b446f93479">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Prepaid Expenses and Other Current Assets&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Prepaid expenses and other current assets consist of the following:&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equipment maintenance and services&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,605&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,135&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,229&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;519&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Prepaid insurance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,087&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,909&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,317&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total prepaid expenses and other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,238&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,837&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;</us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock>
    <rgen:PrepaidServicesAndProfessionalFees
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_50ceae2e-56b0-4856-9030-64f46de79d64"
      unitRef="U_USD">6605000</rgen:PrepaidServicesAndProfessionalFees>
    <rgen:PrepaidServicesAndProfessionalFees
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_d2e02c6b-4ce1-4c70-ad8b-b5ca9a985685"
      unitRef="U_USD">7135000</rgen:PrepaidServicesAndProfessionalFees>
    <us-gaap:PrepaidTaxes
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_ab585211-f909-4de5-9338-ce051d67b021"
      unitRef="U_USD">10229000</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidTaxes
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_c427090c-b145-464c-ab61-f8351ad179d3"
      unitRef="U_USD">519000</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidInsurance
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_c52e1e97-8e8d-43bd-a952-db3158805e70"
      unitRef="U_USD">3087000</us-gaap:PrepaidInsurance>
    <us-gaap:PrepaidInsurance
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_d0860f63-1af6-47b8-ba2a-ea85ea333980"
      unitRef="U_USD">1909000</us-gaap:PrepaidInsurance>
    <us-gaap:OtherAssetsCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_4081a096-fb0e-4738-8eb8-5b5bdf0bab8a"
      unitRef="U_USD">13317000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_76dc7e2b-8c1f-4034-bc24-f6813beae15b"
      unitRef="U_USD">10274000</us-gaap:OtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_7863ca66-d98e-4685-9fce-a3da2492ed41"
      unitRef="U_USD">33238000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_36317ee4-d3ca-4ca0-bca1-1e4a3a474f13"
      unitRef="U_USD">19837000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_77a6d079-8b5a-4c83-8334-358f45d3e67b">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Property, Plant and Equipment&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Property, plant and equipment consist of the following:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Land&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;992&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,003&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Buildings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,667&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,599&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Leasehold improvements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126,663&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115,672&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;114,606&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;94,613&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Furniture, fixtures and office equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,077&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,307&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Computer hardware and software&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35,528&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,813&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Construction in progress&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;47,086&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31,553&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;544&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;420&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total property, plant and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;336,163&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;282,980&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Less - Accumulated depreciation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;128,723&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;92,307&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total property, plant and equipment, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;207,440&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;190,673&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:Land
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_a32ce383-026e-416a-a445-65817af7585f"
      unitRef="U_USD">992000</us-gaap:Land>
    <us-gaap:Land
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_6ea00630-f64d-475a-bbf8-169844e82afd"
      unitRef="U_USD">1003000</us-gaap:Land>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_b0c703d4-3fae-40f7-a084-f6e78a9fe2b2"
      unitRef="U_USD">1667000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_72923e58-1496-43d5-b598-169147224bcd"
      unitRef="U_USD">1599000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:LeaseholdImprovementsGross
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_9b619b36-1c2c-48b4-9426-f5ad92bce736"
      unitRef="U_USD">126663000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:LeaseholdImprovementsGross
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_9deb5f27-f699-4cab-96fe-4a2a7b26edb2"
      unitRef="U_USD">115672000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_b97832e3-6ed3-45a1-849c-676a9ddb166e"
      unitRef="U_USD">114606000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_7b53d443-131e-49e6-a6e4-96da5af4fcff"
      unitRef="U_USD">94613000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:FurnitureAndFixturesGross
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_3c6cf3da-d45f-4a33-ad7d-ba825232d381"
      unitRef="U_USD">9077000</us-gaap:FurnitureAndFixturesGross>
    <us-gaap:FurnitureAndFixturesGross
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_a1869884-52f3-499a-86bc-575f6522a0ac"
      unitRef="U_USD">8307000</us-gaap:FurnitureAndFixturesGross>
    <us-gaap:CapitalizedComputerSoftwareGross
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_1f9c8c93-0623-4bb4-8d4b-7721a32abf08"
      unitRef="U_USD">35528000</us-gaap:CapitalizedComputerSoftwareGross>
    <us-gaap:CapitalizedComputerSoftwareGross
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_525bf293-afff-4d64-b54c-e20cafa69dcc"
      unitRef="U_USD">29813000</us-gaap:CapitalizedComputerSoftwareGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_f6b839a6-e7b4-4ada-8e6a-2ffad3499f4a"
      unitRef="U_USD">47086000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_d5bce687-98cc-4169-828d-5b073e8a80d5"
      unitRef="U_USD">31553000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentOther
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_3c4a701e-ddd7-48e3-a9a8-f1e82ec59406"
      unitRef="U_USD">544000</us-gaap:PropertyPlantAndEquipmentOther>
    <us-gaap:PropertyPlantAndEquipmentOther
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_9977c13f-3d1c-422c-a076-423fed3c764c"
      unitRef="U_USD">420000</us-gaap:PropertyPlantAndEquipmentOther>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_67d2c54d-b756-4c6d-a077-fe151091913c"
      unitRef="U_USD">336163000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_d7452b5c-5474-4a14-aed1-c6e2c35f697f"
      unitRef="U_USD">282980000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_3e0e4f23-5a66-49f1-858b-1be5dec1e4f9"
      unitRef="U_USD">128723000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_b23e86d3-98a5-4aff-b40b-db2a4d8e36d1"
      unitRef="U_USD">92307000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_9a450bde-ad6f-41da-9a9f-4320ba87086f"
      unitRef="U_USD">207440000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_10daeaad-ff68-47ed-8b8a-358069933cc6"
      unitRef="U_USD">190673000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-5"
      id="F_aeda621c-3688-42e4-a46f-5200ed110e15"
      unitRef="U_USD">37000000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-5"
      id="F_5896bd6f-9ca9-453d-b328-d5fcf62b0255"
      unitRef="U_USD">23900000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-5"
      id="F_79e23792-be97-48d3-84d7-073824e1334d"
      unitRef="U_USD">16400000</us-gaap:Depreciation>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_f40266e0-99b0-4ccc-9c42-5b2eaaa13a62">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:10pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Accrued Liabilities&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accrued liabilities consist of the following:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Employee compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16,660&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,522&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,287&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,283&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income taxes payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,814&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,459&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16,772&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,856&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total accrued liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;50,533&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;71,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_9f4912f3-9431-44ec-ba98-742ce1dd20f9"
      unitRef="U_USD">16660000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_2cdd360a-187f-4b00-9500-33fa51355a90"
      unitRef="U_USD">33522000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_bd7f66fe-bb69-4f76-a8ec-4b973c0d07df"
      unitRef="U_USD">10287000</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_1db723ed-aef4-4a9f-b3b8-b29f8553a6eb"
      unitRef="U_USD">19283000</us-gaap:DeferredRevenueCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_01b50eb1-ba6d-45ff-977f-5ced5eb1a07b"
      unitRef="U_USD">6814000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_2a536534-ae92-4475-8874-2136ea4f7b6c"
      unitRef="U_USD">2459000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_28dc58c4-effa-495b-a572-1c732212423b"
      unitRef="U_USD">16772000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_320b45d4-30d8-4a83-8f92-a716b7df4d1e"
      unitRef="U_USD">15856000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_c91cc8e1-fed5-4ff5-8f51-17b750fb6c03"
      unitRef="U_USD">50533000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_47388b4d-3f9d-4ed7-a67c-70c1f2e5f274"
      unitRef="U_USD">71120000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_f8bc11a5-4cf9-4050-9a33-4c164883b781">&lt;div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;"&gt;11.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Income Taxes &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components of income before income taxes are as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.477%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Domestic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,601&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;153,446&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81,984&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81,733&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;65,694&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;71,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income before income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;64,132&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;219,140&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;153,543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components of the income tax provision are as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.477%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Components of the income tax provision:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Current&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,238&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34,800&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,166&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,317&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,619&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,086&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,555&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,252&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Jurisdictional components of the income tax provision:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Federal&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,512&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,662&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;State&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;142&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,381&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,251&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18,901&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,138&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,680&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,555&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,252&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;At December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, the Company had federal net operating loss carryforwards of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, state net operating loss carryforwards of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, and foreign net operating loss carryforwards of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The state net operating loss carryforwards will expire &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;at various dates through 2043&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, while the federal and foreign net operating loss carryforwards have unlimited carryforward periods and do not expire. At &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, the Company had federal and state business tax credits carryforwards of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million available to reduce future federal and state income taxes. The business tax credit carryforwards will expire at various dates through 2043. 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 shareholders.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components of deferred income taxes are as follows:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred tax assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Stock-based compensation expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating leases&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,727&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31,564&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Capitalized research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,568&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,102&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,131&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net operating loss carryforwards&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,578&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,808&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Business tax credit carryforwards&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,697&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,639&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,314&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,440&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total deferred tax assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81,135&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;68,859&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Less: valuation allowance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net deferred tax assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81,115&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;68,840&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Fixed assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,716&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18,965&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquired intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,956&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43,549&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26,373&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28,486&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Debt discount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,006&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total deferred tax liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;120,051&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;91,000&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total net deferred tax liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;38,936&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,160&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:1.667%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The net change in the total valuation allowance for the year ended December 31, 2023 and 2022&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; was an increase of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; and a decrease of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:1.667%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The reconciliation of the federal statutory rate to the effective income tax rate for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021 is as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:92.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:33.94%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.04%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:7.54%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:8.44%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.04%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:7.54%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:8.44%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.04%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:7.54%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:8.44%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="22" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="22" style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands, except percentages)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income before income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;64,132&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;219,140&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;153,543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expected tax at statutory rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,469&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;46,020&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,247&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Adjustments due to:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Difference between U.S. and foreign tax&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,084&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.7&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;530&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;State income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,387&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,509&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,462&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Business tax credits&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,522&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,139&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,239&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Stock-based compensation expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,461&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,638&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,049&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.9&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;U.S. taxation of foreign earnings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;343&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;83&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign-derived intangible income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;88&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,042&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,547&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.7&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Executive compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,084&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,441&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,397&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,412&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,033&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,232&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Loss on extinguishment of debt&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,634&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Debt discount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign exchange loss&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,288&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Uncertain tax provisions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;165&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;234&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;443&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Change in valuation allowance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;688&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;48&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Return to provision adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,255&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;498&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;50&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;765&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;92&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;730&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income tax provision&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,555&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15.1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,252&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16.4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:78.98%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.06%;"&gt;&lt;/td&gt;
        &lt;td style="width:18.96%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Jurisdiction&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fiscal Years Subject to Examination&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;United States - federal and state&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2019&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Sweden&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2018&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following is a tabular reconciliation of the total amounts of unrecognized tax benefits:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:65.266%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.701%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.665000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.701%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.665000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance of gross unrecognized tax benefits, beginning of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,996&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,786&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Gross amounts of increases in unrecognized tax benefits as a result &lt;br/&gt;&#160;&#160;&#160;&#160;&#160;of tax positions taken in the current period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;178&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;146&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Gross amounts of increases in unrecognized tax benefits as a result &lt;br/&gt;&#160;&#160;&#160;&#160;&#160;of tax positions taken in the prior period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;53&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;64&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Gross amounts of decreases due to release&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;88&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance of gross unrecognized tax benefits, end of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,139&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,996&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Included in the balance of unrecognized tax benefits as of December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, are $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; 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. In 2023, a net expense of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, was recorded to the income tax provision related to interest and penalties while in 2022, a net expense of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; was recorded. The amount of interest and penalties recorded in the accompanying consolidated balance sheets was approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;67,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;52,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 and 2022&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, respectively. In the next twelve months, it is reasonably possible the Company will reduce its gross unrecognized tax benefits, excluding interest by up to $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million due to expiring statutes of limitations.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In 2021, the Organization of Economic Co-operation and Development announced an Inclusive Framework on Base Erosion and Profit Sharing with the goal of achieving consensus around substantial changes to international tax policies, including the implementation of a minimum global effective tax rate of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;%. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;We continue to evaluate the impacts of enacted legislation and&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;pending &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;legislation in the tax jurisdictions in which we operate. While various countries have implemented the legislation as of January 1, 2024, we do not expect a resulting material change to our income tax provision for the 2024 fiscal year.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;As of December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, the Company has accumulated undistributed earnings generated by its foreign subsidiaries of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;212.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. Because $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of such earnings have previously been subject to the one-time transition tax on foreign earnings required by the Tax Cuts and Jobs Act enacted in December 2017, 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 &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, the Company has not provided for taxes on outside basis differences of its foreign subsidiaries as it is not practicable and 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;/span&gt;&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_421a0647-2d15-4a9b-839c-2175d9d3589c">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components of income before income taxes are as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.477%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Domestic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,601&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;153,446&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81,984&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81,733&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;65,694&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;71,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income before income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;64,132&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;219,140&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;153,543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_227354e1-f159-4c87-be91-6e04ea33431c"
      unitRef="U_USD">-17601000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_812ed085-5327-43a0-9d1c-644acec84533"
      unitRef="U_USD">153446000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_65a6fa1f-c75f-427c-bff2-0c84d6e57198"
      unitRef="U_USD">81984000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_7f052e8e-d37c-444a-8329-4b627db2ebe6"
      unitRef="U_USD">81733000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_fa9c50be-982c-4b96-9ec6-4498308af73b"
      unitRef="U_USD">65694000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_7e778086-b7fc-4d12-9e23-2c1bf1552837"
      unitRef="U_USD">71559000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_97a3b3e9-31f1-4434-a7ec-b5cb6c788b6f"
      unitRef="U_USD">64132000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_4818a312-3805-4ac5-a206-1c8019e29252"
      unitRef="U_USD">219140000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_95071b6d-f65a-4ad0-8039-5240c164befb"
      unitRef="U_USD">153543000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_0afc28b5-8c88-4ca8-8b8e-6f3656b06946">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components of the income tax provision are as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.477%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.399%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.776%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Components of the income tax provision:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Current&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,238&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34,800&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,166&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,317&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,619&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,086&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,555&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,252&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Jurisdictional components of the income tax provision:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Federal&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,512&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,662&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;State&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;142&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,381&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,251&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18,901&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,138&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,680&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,555&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,252&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_1133b158-b7d3-4b37-89d3-bc4ad254a52d"
      unitRef="U_USD">20238000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_cbda53f6-9ed9-4e51-a9eb-ad86b2ed8f1a"
      unitRef="U_USD">34800000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_92158759-5ae9-4d86-849e-a934d178346f"
      unitRef="U_USD">20166000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <rgen:ProvisionForDeferredIncomeTaxExpenseBenefit
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_9ef3befb-1eeb-4bdf-89d5-c2496dfff4a1"
      unitRef="U_USD">2317000</rgen:ProvisionForDeferredIncomeTaxExpenseBenefit>
    <rgen:ProvisionForDeferredIncomeTaxExpenseBenefit
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_9ec2dfa4-986b-4757-bf5d-b5d69a8bd184"
      unitRef="U_USD">-1619000</rgen:ProvisionForDeferredIncomeTaxExpenseBenefit>
    <rgen:ProvisionForDeferredIncomeTaxExpenseBenefit
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_bc582f8d-9b3d-4894-be6d-2c14624b616d"
      unitRef="U_USD">5086000</rgen:ProvisionForDeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_4d9dac0a-b4c4-4b13-b8e6-f85b0009d8c8"
      unitRef="U_USD">22555000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_b37ac0f4-a3de-45e6-9c1f-b658add27952"
      unitRef="U_USD">33181000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_ceb0f9d7-a47c-40ab-a6a8-7bece3eff047"
      unitRef="U_USD">25252000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_ecca18d0-5552-4223-902f-edd1b44972f7"
      unitRef="U_USD">3512000</us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_182c2d43-4528-4536-9453-44a8c921f111"
      unitRef="U_USD">17662000</us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_4932831e-6366-406b-944e-fcfe571c646d"
      unitRef="U_USD">8321000</us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_14cdb30f-2424-4b6c-bc34-28627ccda487"
      unitRef="U_USD">142000</us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_eba74a99-38a3-4af0-b0d6-cfe4f0f44506"
      unitRef="U_USD">1381000</us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_22811fc3-079a-4845-a776-c50ff1d2681a"
      unitRef="U_USD">1251000</us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_ef7eb574-38a7-4738-9c56-bb4c09bafba3"
      unitRef="U_USD">18901000</us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_e7c4d460-6d90-4fd1-9d9f-d0ffc1e12d4d"
      unitRef="U_USD">14138000</us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_1ca03ade-75c1-4819-bc43-86e77d6869e3"
      unitRef="U_USD">15680000</us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_cf63d7fb-49ed-4ab2-9589-ac19c0c47b52"
      unitRef="U_USD">22555000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_682b9e79-0536-4cad-b8d3-7af9a7ee63d0"
      unitRef="U_USD">33181000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_acf74ca7-a27e-4638-b825-c8865269053e"
      unitRef="U_USD">25252000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:OperatingLossCarryforwards
      contextRef="C_fb140d0a-a258-4c33-ac33-c345a08de668"
      decimals="-5"
      id="F_40cd853f-923a-4d6d-bb22-7b59055dadee"
      unitRef="U_USD">31100000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="C_036177bb-d040-407e-a70e-3659831e4ff4"
      decimals="-5"
      id="F_59d49da5-9658-4d91-ad1e-5b347fe2102f"
      unitRef="U_USD">1500000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-5"
      id="F_7b750a7c-29e6-48d4-94ec-d54c962243fb"
      unitRef="U_USD">4900000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OtherInformationPertainingToIncomeTaxes
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_e2e1cfea-28fb-4214-adad-9d70613d78a7">at various dates through 2043</us-gaap:OtherInformationPertainingToIncomeTaxes>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="C_63eb4483-ae33-494a-ab2b-5e4efc3f40b7"
      decimals="-5"
      id="F_a829a9e1-b562-4fb7-8f79-3fb139ce20b7"
      unitRef="U_USD">5000000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_0d43e137-a929-41b6-afd5-f97a0cafd988">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The components of deferred income taxes are as follows:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.993%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.883000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred tax assets:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Stock-based compensation expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating leases&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,727&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;31,564&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Capitalized research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,568&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,102&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,131&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net operating loss carryforwards&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,578&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,808&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Business tax credit carryforwards&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,697&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,639&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,314&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,440&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total deferred tax assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81,135&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;68,859&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Less: valuation allowance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Net deferred tax assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81,115&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;68,840&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Fixed assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,716&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18,965&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Acquired intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56,956&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43,549&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease right of use assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26,373&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28,486&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Debt discount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,006&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total deferred tax liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;120,051&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;91,000&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total net deferred tax liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;38,936&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,160&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_79cf6420-3cd3-4db1-95f5-c4525b094413"
      unitRef="U_USD">5120000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_3acc519f-b4a3-48d6-818a-e822ac697e9e"
      unitRef="U_USD">5323000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <rgen:DeferredTaxAssetsOperatingLeases
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_da05403f-0a47-43ef-8e48-cd0f8a45fd7e"
      unitRef="U_USD">30727000</rgen:DeferredTaxAssetsOperatingLeases>
    <rgen:DeferredTaxAssetsOperatingLeases
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_642348ad-18ed-4be8-bfa2-439ba5bd7be5"
      unitRef="U_USD">31564000</rgen:DeferredTaxAssetsOperatingLeases>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_2482c20c-98f5-4f7a-a1ff-491006f52a62"
      unitRef="U_USD">17568000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_d8846a98-a600-4621-8be9-1a733ebf7d7f"
      unitRef="U_USD">9102000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_2b75a50e-0e14-447d-8e10-a86e70baac03"
      unitRef="U_USD">10131000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_445ba8a5-7c58-4e66-8833-f53147dfe69f"
      unitRef="U_USD">5983000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_3ab7bd2c-ef1a-4c5e-977f-a69292d61f9c"
      unitRef="U_USD">7578000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_d19e92e9-52f1-427f-8175-23c9eb9063e8"
      unitRef="U_USD">9808000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_38981a9b-0dc8-4ba0-8516-c4e87ff937b2"
      unitRef="U_USD">4697000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_41829f51-f01a-4bc6-9639-1be3733348da"
      unitRef="U_USD">2639000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_e3109832-7c73-458b-93bf-c453db923566"
      unitRef="U_USD">5314000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_c3aff23f-61a9-499c-a9e3-080f716c86ed"
      unitRef="U_USD">4440000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_a82175a3-fb75-454b-9dc2-904a1398904d"
      unitRef="U_USD">81135000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_9ce5c648-0210-4e9f-a2cd-1c958ccf5aad"
      unitRef="U_USD">68859000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_c2ffea1b-6209-41e0-9129-445248116668"
      unitRef="U_USD">20000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_1c78c6ef-a034-4515-8bd0-b223d8bda2a7"
      unitRef="U_USD">19000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_2a38fbb3-b2e8-4ffe-a03a-dc2fed55af7a"
      unitRef="U_USD">81115000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_ccabf277-6ec3-42e1-ab89-3f1f808f4368"
      unitRef="U_USD">68840000</us-gaap:DeferredTaxAssetsNet>
    <rgen:DeferredIncomeTaxLiabilitiesFixedAssets
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_2ad5669e-31f2-49c2-a984-0e7ebfa75b9e"
      unitRef="U_USD">-17716000</rgen:DeferredIncomeTaxLiabilitiesFixedAssets>
    <rgen:DeferredIncomeTaxLiabilitiesFixedAssets
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_a39d523a-b470-43bd-ade9-5489520a2ea6"
      unitRef="U_USD">-18965000</rgen:DeferredIncomeTaxLiabilitiesFixedAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_6272d0bc-2b2a-4178-95d3-a63fd474e3d9"
      unitRef="U_USD">56956000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_172ddbbe-2565-480f-9002-cb85c57607fd"
      unitRef="U_USD">43549000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_9b43eec3-7a6b-4271-9ca8-a80a7c8bb0f0"
      unitRef="U_USD">-26373000</rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets>
    <rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_143bc527-9248-4c43-bf34-2bbec2ffd6ad"
      unitRef="U_USD">-28486000</rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets>
    <rgen:DeferredTaxLiabilitiesDebtDiscount
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_6d26f932-6599-45b2-9bc9-4c5ad574b9d5"
      unitRef="U_USD">19006000</rgen:DeferredTaxLiabilitiesDebtDiscount>
    <rgen:DeferredTaxLiabilitiesDebtDiscount
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_13f4c332-eb44-4903-ac74-6e649afe20e0"
      unitRef="U_USD">0</rgen:DeferredTaxLiabilitiesDebtDiscount>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_bc3da175-14f9-48b3-973e-1016db53ba2b"
      unitRef="U_USD">120051000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_a25768db-7854-4f49-92ec-04df2677f79b"
      unitRef="U_USD">91000000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_9c7b8446-921d-4d89-8edb-11f673af4f70"
      unitRef="U_USD">38936000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_313782a7-6821-4b7b-a99b-1770ecc348a9"
      unitRef="U_USD">22160000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_d8791387-d87d-496d-81da-317fb99d6e49"
      unitRef="U_USD">1000000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-5"
      id="F_a1b8a51f-d412-46a7-b8aa-58fe6a78e15a"
      unitRef="U_USD">700000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_cb476924-3e45-417c-bd86-0657bd48778d">&lt;p style="margin-left:1.667%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The reconciliation of the federal statutory rate to the effective income tax rate for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021 is as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:92.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:33.94%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.04%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:7.54%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:8.44%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.04%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:7.54%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:8.44%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.04%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:7.54%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:8.44%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="22" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="22" style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands, except percentages)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income before income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;64,132&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;219,140&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;153,543&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expected tax at statutory rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,469&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;46,020&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,247&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Adjustments due to:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Difference between U.S. and foreign tax&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,084&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.7&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;530&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;State income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,387&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,509&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,462&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Business tax credits&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,522&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,139&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,239&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Stock-based compensation expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,461&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,638&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,049&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.9&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;U.S. taxation of foreign earnings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;343&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;83&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign-derived intangible income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;88&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,042&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,547&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.7&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Executive compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,084&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,441&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,397&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,412&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,033&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,232&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Loss on extinguishment of debt&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,634&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Debt discount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Foreign exchange loss&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,288&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Uncertain tax provisions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;165&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;234&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;443&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Change in valuation allowance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;688&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;48&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Return to provision adjustments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,255&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;498&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;50&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;765&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;92&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;730&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:9pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Income tax provision&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,555&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;33,181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15.1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,252&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-size:9pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16.4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_21323d6c-6893-4f97-b246-91f1bb204408"
      unitRef="U_USD">64132000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_f1cc0231-94f6-4839-9b40-37580ff986cd"
      unitRef="U_USD">219140000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_f57808c0-7730-49fb-8807-d158fca35835"
      unitRef="U_USD">153543000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_03ef5306-ee1b-4590-bee8-bfc38b440adb"
      unitRef="U_USD">13469000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="3"
      id="F_42f19b65-9dea-43aa-96a3-3ba56e1e2081"
      unitRef="U_pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_6325828c-39cb-469f-ade7-d6d8b8f2c564"
      unitRef="U_USD">46020000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="3"
      id="F_4dbbe09d-ed2e-45b6-8654-1ddbe02bd9a2"
      unitRef="U_pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_04d3a968-8a8c-49d6-a7f5-bb6182f8396f"
      unitRef="U_USD">32247000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="3"
      id="F_3c1dec07-47eb-4ce2-9351-f62dfd48772a"
      unitRef="U_pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_fe95f328-15f0-4653-9846-60d48d3e611a"
      unitRef="U_USD">1084000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="3"
      id="F_016fadcf-115d-4562-b114-f4cbed3e3ea8"
      unitRef="U_pure">0.017</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_7c7bb7dc-ba0f-4f2f-ace2-f1a283e3c6f6"
      unitRef="U_USD">1024000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="3"
      id="F_eb0e98a0-91b3-416d-ac9c-5888af55d059"
      unitRef="U_pure">0.005</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_0066f9d3-de2c-4f08-8921-aa26540f5a2c"
      unitRef="U_USD">530000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="3"
      id="F_5716104f-16ef-4c09-8095-62cbbd4de41b"
      unitRef="U_pure">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_5256898b-29c7-44a2-ad5b-8bb3a6aaa4f2"
      unitRef="U_USD">1387000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="3"
      id="F_4cd20c9a-465f-4e66-8ed9-6609016c3a2d"
      unitRef="U_pure">0.022</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_40a0c14e-3892-4a08-b382-c1c3376f6853"
      unitRef="U_USD">3509000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="3"
      id="F_c4dfe7e3-7e2b-4515-8431-25ca6b326730"
      unitRef="U_pure">0.016</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_08cc630b-fcc2-46c8-ac59-a08fcbc3430e"
      unitRef="U_USD">1462000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="3"
      id="F_1937d615-03fd-4c40-9141-a8cf62d74621"
      unitRef="U_pure">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationTaxCredits
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_c076df9e-d84f-4919-b838-f852c6a71b2c"
      unitRef="U_USD">4522000</us-gaap:IncomeTaxReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="3"
      id="F_c986bc15-1d2a-4158-8a1c-837f40f82c91"
      unitRef="U_pure">0.071</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:IncomeTaxReconciliationTaxCredits
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_627a50de-0739-4dde-b0a3-2cb81109cdfe"
      unitRef="U_USD">5139000</us-gaap:IncomeTaxReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="3"
      id="F_a20b7379-86a7-441f-9f32-82949626819d"
      unitRef="U_pure">0.023</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:IncomeTaxReconciliationTaxCredits
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_9cc43490-816b-48f5-9b33-9925308a23fd"
      unitRef="U_USD">2239000</us-gaap:IncomeTaxReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="3"
      id="F_a5c564f3-873c-4ab2-a06f-abe59c2f570c"
      unitRef="U_pure">0.015</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_6a01ee73-f916-4c74-96ad-04270d6498c4"
      unitRef="U_USD">-2461000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="3"
      id="F_add42cb8-5808-403d-81aa-e34f0829067a"
      unitRef="U_pure">-0.038</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_5665a8d4-6783-4736-a083-7b6534509ec9"
      unitRef="U_USD">-5638000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="3"
      id="F_14f1a52e-385a-4ce8-ae50-a530b4ddefb7"
      unitRef="U_pure">-0.026</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_d51f3dfb-55ee-4749-b640-fbf10e9c8fb3"
      unitRef="U_USD">-9049000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="3"
      id="F_431de6bd-856b-498c-9467-d5f9a11f1303"
      unitRef="U_pure">-0.059</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_cfa6593f-f6fc-4561-96d4-eeae0842c54a"
      unitRef="U_USD">343000</us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings>
    <us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="3"
      id="F_3f345b95-5e39-4104-8b8e-06a9ae3ec0b9"
      unitRef="U_pure">0.005</us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings>
    <us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_c8008cb9-aabf-4ca7-b85a-bf0dd886f8ec"
      unitRef="U_USD">83000</us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings>
    <us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="3"
      id="F_b5604079-ba31-4a76-a9bd-b43867713704"
      unitRef="U_pure">0</us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings>
    <us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_2f9fb734-0b68-4271-8d01-936c263f494c"
      unitRef="U_USD">30000</us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings>
    <us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="3"
      id="F_5c40f62b-dc4a-4e16-a318-865fcfff7349"
      unitRef="U_pure">0</us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_568c2eda-cfcd-48ef-a154-bb4ac3332fd2"
      unitRef="U_USD">88000</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="3"
      id="F_614e7182-f13c-4e3f-be95-018755c58bdf"
      unitRef="U_pure">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_0e90b245-214d-497a-9e02-4cad440ea890"
      unitRef="U_USD">5042000</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="3"
      id="F_85e128e6-4e02-4bb5-8a49-c43cdd820bfa"
      unitRef="U_pure">0.023</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_803fcc78-ebd7-4650-a453-5c4c9ccd32c1"
      unitRef="U_USD">2547000</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="3"
      id="F_eb053d74-6865-47f1-aa00-3da47bfaec6d"
      unitRef="U_pure">0.017</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent>
    <rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_e3cc1253-28a0-4a4a-a51a-5791dc521a49"
      unitRef="U_USD">3084000</rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="3"
      id="F_6a9f1fd5-1df0-43d5-adac-08c19732111e"
      unitRef="U_pure">0.048</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation>
    <rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_da483ecc-deb3-4378-a58a-f38382f41190"
      unitRef="U_USD">5441000</rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="3"
      id="F_2f44f2cc-8220-42d9-9cb8-6f86f2b424a4"
      unitRef="U_pure">0.025</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation>
    <rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_9041e389-5b40-4c36-82d9-63e8074b0b64"
      unitRef="U_USD">3397000</rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="3"
      id="F_f874eefa-07b9-4423-a338-7c8db46073ed"
      unitRef="U_pure">0.022</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_1370f512-5f9f-41e8-a6fe-cc27530c5eb5"
      unitRef="U_USD">-6412000</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="3"
      id="F_0abf171e-ce91-4ee0-9d25-122bffe2e093"
      unitRef="U_pure">-0.10</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_648a5c69-bbd7-4897-adfa-0ee511703e3f"
      unitRef="U_USD">-6033000</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="3"
      id="F_f41aea3a-6e4f-4d85-8fd8-ea6bd501e70d"
      unitRef="U_pure">-0.028</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_fe10d62e-c4d0-4d57-811c-dde9cc7029c0"
      unitRef="U_USD">1232000</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationAmount>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="3"
      id="F_304207ea-fc45-47b9-a0a1-332a32efaff9"
      unitRef="U_pure">0.008</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseContingentConsiderationPercent>
    <rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_27327292-c41c-4643-a870-327898850165"
      unitRef="U_USD">2634000</rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange>
    <rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="3"
      id="F_75f407d6-1103-48a5-97d4-f3a9fa7da00e"
      unitRef="U_pure">0.041</rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent>
    <rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_8d16296d-15a0-4e7c-90ef-4c846e39e217"
      unitRef="U_USD">0</rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange>
    <rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="3"
      id="F_6f12cdc5-8c53-4dbb-890f-de17c09714dd"
      unitRef="U_pure">0</rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent>
    <rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_33976883-247b-43ce-af98-22c7cf42b17c"
      unitRef="U_USD">0</rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchange>
    <rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="3"
      id="F_d73b47b7-6a4b-469f-9bc0-f04c9b35cb7c"
      unitRef="U_pure">0</rgen:EffectiveIncomeTaxRateReconciliationLossOnDebtExchangePercent>
    <rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_60b379c8-7d6a-4f54-8173-9457d340335a"
      unitRef="U_USD">16650000</rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount>
    <rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="3"
      id="F_3524acf2-51c5-46d9-8b39-a97c004a3e9a"
      unitRef="U_pure">0.26</rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage>
    <rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_c6ca4b16-5b0d-4b73-871a-bd1120f124a6"
      unitRef="U_USD">0</rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount>
    <rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="3"
      id="F_c20990d3-dc3b-44cd-b49c-462edf2c9cc4"
      unitRef="U_pure">0</rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage>
    <rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_83226891-3091-443c-a284-491550b288d1"
      unitRef="U_USD">0</rgen:EffectiveIncomeTaxRateReconciliationDebtDiscount>
    <rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="3"
      id="F_31d6d5a6-acae-47b0-a198-be88bf2e7a0f"
      unitRef="U_pure">0</rgen:EffectiveIncomeTaxRateReconciliationDebtDiscountPercentage>
    <rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_2fb1a677-f777-4b23-8523-2f3d91c2d10e"
      unitRef="U_USD">-2288000</rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss>
    <rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="3"
      id="F_3f92fa2e-25af-4bf5-9113-0df46a073395"
      unitRef="U_pure">-0.036</rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent>
    <rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_67d38567-4cc5-4cc6-8f7d-853abfba4a61"
      unitRef="U_USD">0</rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss>
    <rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="3"
      id="F_c1f6cd4b-1ea4-4032-a171-58d39d72ceea"
      unitRef="U_pure">0</rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent>
    <rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_8d0a9fb8-c37b-47f8-a5e8-a6abc385f934"
      unitRef="U_USD">0</rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLoss>
    <rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="3"
      id="F_36c2de16-ceb0-4a9e-a0a6-f05e77636683"
      unitRef="U_pure">0</rgen:EffectiveIncomeTaxRateReconciliationForeignExchangeLossPercent>
    <us-gaap:IncomeTaxReconciliationTaxContingencies
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_254ba507-a6c8-473f-b3c9-8e79081ac4f3"
      unitRef="U_USD">165000</us-gaap:IncomeTaxReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="3"
      id="F_83ac89e8-f0be-4da5-b273-be91135a7c89"
      unitRef="U_pure">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:IncomeTaxReconciliationTaxContingencies
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_f464619a-05e5-4456-a983-4e70614454e0"
      unitRef="U_USD">234000</us-gaap:IncomeTaxReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="3"
      id="F_bda695db-fea3-4d3d-acc7-fe1a4fa3aa09"
      unitRef="U_pure">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:IncomeTaxReconciliationTaxContingencies
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_41c04496-b5ee-43df-ab25-76ec7989242c"
      unitRef="U_USD">-443000</us-gaap:IncomeTaxReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="3"
      id="F_6ad33765-99a1-4ce3-addc-6297ecb88b6b"
      unitRef="U_pure">-0.003</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_b989eaed-2810-4a4f-b63e-bde9de5606cb"
      unitRef="U_USD">0</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="3"
      id="F_a05a4a61-de0e-4b3b-bc1f-f16508180fa1"
      unitRef="U_pure">0</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_b14606b7-f06f-4a45-be04-5059990682e2"
      unitRef="U_USD">-688000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="3"
      id="F_9104df36-e8c5-4182-8166-dbfa8a7b082f"
      unitRef="U_pure">-0.003</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_f02883bc-a20f-4344-a627-4a12e377159e"
      unitRef="U_USD">-48000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="3"
      id="F_93be285f-ce2a-4140-838b-b69df4365f8e"
      unitRef="U_pure">0</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <rgen:IncomeTaxReconciliationReturnToProvisionAdjustments
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_b4cbd895-7b9d-4e66-8e93-00699f1d2060"
      unitRef="U_USD">-1255000</rgen:IncomeTaxReconciliationReturnToProvisionAdjustments>
    <rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="3"
      id="F_bb411436-d574-4e9f-8ffb-2e0d73594a91"
      unitRef="U_pure">-0.02</rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments>
    <rgen:IncomeTaxReconciliationReturnToProvisionAdjustments
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_8332e95a-c876-49dc-ae5e-ae4c22c2e302"
      unitRef="U_USD">-498000</rgen:IncomeTaxReconciliationReturnToProvisionAdjustments>
    <rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="3"
      id="F_3782396b-c9d7-4458-8160-12a1de587b63"
      unitRef="U_pure">-0.002</rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments>
    <rgen:IncomeTaxReconciliationReturnToProvisionAdjustments
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_d49224be-86dc-4c7d-9aee-2705f52aed47"
      unitRef="U_USD">-50000</rgen:IncomeTaxReconciliationReturnToProvisionAdjustments>
    <rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="3"
      id="F_9b95fb31-a0a6-446c-b77c-1209e1224b38"
      unitRef="U_pure">0</rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherReconcilingItems
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_3c0d5914-2333-42db-8fd9-50f4ed5f0c7f"
      unitRef="U_USD">765000</us-gaap:IncomeTaxReconciliationOtherReconcilingItems>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="3"
      id="F_81e5c116-962b-4fa9-9737-b6653e743a04"
      unitRef="U_pure">0.012</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherReconcilingItems
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_6f80d22c-3a10-4770-a767-04c2851e447a"
      unitRef="U_USD">-92000</us-gaap:IncomeTaxReconciliationOtherReconcilingItems>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="3"
      id="F_a6260519-abfa-42b7-8d2c-d7f001dc29ce"
      unitRef="U_pure">0</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherReconcilingItems
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_94752ace-78bf-46cd-afbd-bd00d364f55f"
      unitRef="U_USD">730000</us-gaap:IncomeTaxReconciliationOtherReconcilingItems>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="3"
      id="F_7db51c91-638e-4538-82e4-12fee0c963d2"
      unitRef="U_pure">0.005</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_e6573e76-2f80-4642-915b-e96ee6de7bb8"
      unitRef="U_USD">22555000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="3"
      id="F_63d5a4a6-8ed6-43e1-9e91-ce912f4dbe57"
      unitRef="U_pure">0.352</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_20af360d-410f-43bb-ad88-07bd68ad2917"
      unitRef="U_USD">33181000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="3"
      id="F_8b4e21ae-3ab3-4612-b5e5-ae89eb110fc2"
      unitRef="U_pure">0.151</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_0c18a771-cbec-487e-bd33-5c10f2c94d81"
      unitRef="U_USD">25252000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="3"
      id="F_595684ca-3a19-49a6-a26b-98b24897382c"
      unitRef="U_pure">0.164</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:SummaryOfIncomeTaxExaminationsTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_810d633e-6e3a-45fa-b197-cb3507a42b8e">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:78.98%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.06%;"&gt;&lt;/td&gt;
        &lt;td style="width:18.96%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Jurisdiction&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Fiscal Years Subject to Examination&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;United States - federal and state&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2019&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Sweden&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2018&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:SummaryOfIncomeTaxExaminationsTextBlock>
    <us-gaap:OpenTaxYear
      contextRef="C_bdeb8b5b-0869-4604-8c0c-c230625200d4"
      id="F_a8bd725f-a5b2-4f8b-9a9a-1324e9b450a9">2019</us-gaap:OpenTaxYear>
    <us-gaap:OpenTaxYear
      contextRef="C_b63785aa-42cf-4b22-99e6-0f65fe08ae7c"
      id="F_6811ca7c-3828-421d-8439-06342b88735b">2023</us-gaap:OpenTaxYear>
    <us-gaap:OpenTaxYear
      contextRef="C_fbf962af-3518-49a4-acd6-7423efa30a24"
      id="F_744a9e9d-6dea-4629-8dda-fe65c3f9c899">2018</us-gaap:OpenTaxYear>
    <us-gaap:OpenTaxYear
      contextRef="C_be5ba352-1c27-44a1-ae55-9d65ee21f44a"
      id="F_cd61a488-1c57-47c4-b3f3-b21ca342bbc4">2023</us-gaap:OpenTaxYear>
    <us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_d703efd3-9a49-499d-9c5c-7b3be108898d">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following is a tabular reconciliation of the total amounts of unrecognized tax benefits:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:65.266%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.701%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.665000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.701%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.665000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance of gross unrecognized tax benefits, beginning of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,996&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,786&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Gross amounts of increases in unrecognized tax benefits as a result &lt;br/&gt;&#160;&#160;&#160;&#160;&#160;of tax positions taken in the current period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;178&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;146&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Gross amounts of increases in unrecognized tax benefits as a result &lt;br/&gt;&#160;&#160;&#160;&#160;&#160;of tax positions taken in the prior period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;53&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;64&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Gross amounts of decreases due to release&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;88&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Balance of gross unrecognized tax benefits, end of period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,139&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,996&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_adc52275-5da1-4a50-8164-81127f6c9767"
      unitRef="U_USD">2996000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="C_1e4e8dcc-2859-4d60-83ac-67a83abbb1af"
      decimals="-3"
      id="F_2fbaaee4-a9a7-485c-9535-2d6d12742f48"
      unitRef="U_USD">2786000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_3f92bd8d-398b-460b-ae30-3bfe398e79a3"
      unitRef="U_USD">178000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_561829c4-f7b0-423b-8509-b3801640d2d7"
      unitRef="U_USD">146000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_28f692c7-e8d8-4f4e-9f7a-934e9d756677"
      unitRef="U_USD">53000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_dc81ab09-efaa-4612-b807-0d9dd2a31179"
      unitRef="U_USD">64000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_9a1c155e-060c-4cc0-85ad-6c55afdb63c8"
      unitRef="U_USD">88000</rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease>
    <rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_f40116a4-1ee9-4990-a68c-e0a5521c23a0"
      unitRef="U_USD">0</rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_a52e39c0-bbbd-412a-8b5a-2b80e9c8bff7"
      unitRef="U_USD">3139000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_58a77581-96e4-4cfc-a520-7a17c6169f16"
      unitRef="U_USD">2996000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-5"
      id="F_71915a3d-04d4-4eec-9f39-d5e6eef52a7c"
      unitRef="U_USD">3100000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_2e604d7a-e40d-45b4-99d4-9b47ba282c20"
      unitRef="U_USD">15000000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_2a50d830-c8ef-4bdf-846d-ec341d0bebbc"
      unitRef="U_USD">24000000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_732ad6e5-8548-4877-972d-d3ee21279c9f"
      unitRef="U_USD">67000000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="-3"
      id="F_df8ab0b2-f61e-408c-9fda-50af893019f5"
      unitRef="U_USD">52000000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-5"
      id="F_50e14485-453e-48ff-8a4f-28728bad5a1d"
      unitRef="U_USD">1100000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions>
    <rgen:PercentageOfCurrentFederalTaxExpenseBenefit
      contextRef="C_8d083a6d-09d3-4820-abd3-7832cd8cf710"
      decimals="2"
      id="F_b15a0bbf-5720-44bf-a71b-1109f05ef99b"
      unitRef="U_pure">0.15</rgen:PercentageOfCurrentFederalTaxExpenseBenefit>
    <us-gaap:UndistributedEarningsOfForeignSubsidiaries
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-5"
      id="F_c1cd6721-7550-47b4-a995-5e50f6c44c05"
      unitRef="U_USD">212400000</us-gaap:UndistributedEarningsOfForeignSubsidiaries>
    <rgen:ForeignEarningsSubjectToOneTimeTransitionTax
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-5"
      id="F_1835e0af-5bf1-4bfc-aba4-ac321c147dff"
      unitRef="U_USD">5700000</rgen:ForeignEarningsSubjectToOneTimeTransitionTax>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_2d3350d7-40ee-4d52-8e90-256c51516298">&lt;div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;"&gt;12.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Stockholders&#x2019; Equity &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Share Repurchases&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In December 2023, the Board authorized and approved a stock repurchase of up to $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of the Company's common stock concurrent with the issuance of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;600.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of its 2023 Notes. See Note 14, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Convertible Senior Notes,&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;for more information on the issuance. The Company used $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of the proceeds from the issuance of the 2023 Notes to repurchase &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;92,090&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares at a price of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;156.22&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, including transaction costs, to offset the impact of dilution from the issuance of 2023 Notes and equity compensation programs as well as to reduce its outstanding share count. The Company has elected to retire the shares repurchased to date. Retired shares become part of the pool of authorized but unissued shares. The purchase price of the retired shares in excess of par value, including transaction costs, is recorded as a decrease to additional paid-in capital in the Company's consolidated balance sheets as of December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Stock Option and Incentive Plans&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;At the Company&#x2019;s 2018 Annual Meeting of Stockholders held on May 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 &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,778,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; 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 and 2012 Plan 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 &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,671,408&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares were available for future grants under the 2018 Plan.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Stock Issued for Earnout Payment&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In May 2023, the Company issued &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;42,621&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares of its common stock to former securityholders of Avitide to satisfy the contingent consideration obligation established under the Agreement and Plan of Merger and Reorganization (the &#x201c;Avitide Agreement&#x201d;) which the Company entered into as part of the Avitide Acquisition. See Note 4, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Acquisitions&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;above for additional information on the Avitide Acquisition and the contingent consideration. The shares represent &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;50&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the earnout consideration earned in the First Earnout Year (as defined in the Avitide Agreement).&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company recorded stock-based compensation expense of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million for the years ended December 31, 2023, 2022 and 2021&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, respectively, for share-based awards granted under the Plans. &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table presents stock-based compensation expense in the Company&#x2019;s consolidated statements of comprehensive income: &lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.437%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.339%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.816%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.339%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.836%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.339%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.896%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cost of product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,933&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,525&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,855&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,622&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,856&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Selling, general and administrative&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,787&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,169&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,623&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total stock-based compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,575&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,316&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,500&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Stock Options&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company uses the Black-Scholes option pricing model to calculate the fair value of stock option awards on the grant date, and measures stock-based compensation costs of stock options 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 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;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The fair value of stock option awards granted during the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021 were calculated using the following estimated assumptions:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:51.27%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.643%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.643%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.643%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="5" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expected term (in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.14&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.5&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.5&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expected volatility (range)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44.78&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;46.58&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41.44&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43.96&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44.57&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;45.27&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Risk-free interest rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.56&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.71&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.86&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.07&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.77&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.07&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expected dividend yield&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Information regarding option activity for the year ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, under the Plans is summarized below:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.11%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.662%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.22%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:8.942%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.662%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.22%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.182%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted&lt;br/&gt;average&lt;br/&gt;exercise&lt;br/&gt;price&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&lt;br/&gt;Term&lt;br/&gt;(in Years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&lt;br/&gt;(in Thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options outstanding at December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;609,965&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;71.74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Granted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;90,305&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;168.22&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Exercised&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;40,211&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26.76&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Forfeited/expired/cancelled&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,929&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;189.46&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options outstanding at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;649,130&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;85.97&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options exercisable at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;364,443&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;65.53&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vested and expected to vest at December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;635,834&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;85.49&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.59&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;61,888&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Represents the number of vested options as of December 31, 2023 plus the number of unvested options expected to vest as of December 31, 2023, based on the unvested outstanding options at &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; adjusted for estimated forfeiture rates of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to non-executive level employees and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to executive level employees.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The aggregate intrinsic value in the table above represents the total pre-tax intrinsic value (the difference between the closing price of the common stock on December 29, 2023, the last business day of 2023, of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;179.80&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; per share and the exercise price of each in-the-money option) that would have been received by the option holders had all option holders exercised their options on&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023. The aggregate intrinsic value of stock options exercised during the years ended December 31, 2023, 2022 and 2021 was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The weighted average grant date fair value of options granted during the years ended December 31, 2023, 2022 and 2021 was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;84.37&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;87.40&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;88.01&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, respectively. The total fair value of stock options that vested during the years ended December 31, 2023, 2022 and 2021 was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Stock Units&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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. The Company recognizes expense on awards with service-based vesting over the employee's requisite service period on a straight-line basis. The Company recognizes expense on performance-based awards over the vesting period based on the probability that the performance metrics will be achieved. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Information regarding stock unit activity, which includes activity for restricted stock units and performance stock units, for the year ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 under the Plans is summarized below:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:65.92%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.12%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.12%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.64%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted Average&lt;br/&gt;Grant Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unvested at December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;531,034&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;142.57&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Awarded&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;212,338&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;170.03&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vested&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;195,672&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;124.58&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Forfeited/cancelled&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;73,380&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;177.81&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unvested at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;474,320&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;155.59&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vested and expected to vest at December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;413,249&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;152.74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Represents the number of vested stock units as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, plus the number of unvested stock units expected to vest as of December 31, 2023, based on the unvested outstanding stock units at December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; adjusted for estimated forfeiture rates of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to non-executive level employees and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to executive level employees.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The aggregate intrinsic value of stock units vested during the years ended December 31, 2023, 2022 and 2021 was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;35.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;46.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively. The total fair value of stock units that vested during the years ended December 31, 2023, 2022 and 2021 was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;As of December 31, 2023, there was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;63.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of total unrecognized compensation cost related to unvested share-based awards. This cost is expected to be recognized over a weighted average remaining requisite service period of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;2.84&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; years. The Company expects &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;min-width:fit-content;color:#000000;"&gt;2,185,873&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; unvested options and stock units to vest over the next &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;five years&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea"
      decimals="-5"
      id="F_68548776-2c16-4b95-869d-c89fbe5e8f01"
      unitRef="U_USD">25000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea"
      decimals="-5"
      id="F_17a5a85d-7161-4a93-b5c5-6b63d9a0d6b7"
      unitRef="U_USD">600000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="C_e53b0c91-806b-4591-8896-50dab997d73d"
      decimals="-5"
      id="F_1cc611fe-91b6-4124-bd65-7390f43372c5"
      unitRef="U_USD">14400000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="C_e53b0c91-806b-4591-8896-50dab997d73d"
      decimals="INF"
      id="F_fcd37a5d-c06d-40e2-88d7-4a4beaef8ac0"
      unitRef="U_shares">92090</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:SharePrice
      contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea"
      decimals="2"
      id="F_595d56bd-3047-4dd3-80cd-cab17f982aa2"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">156.22</us-gaap:SharePrice>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_c0e1b61d-93ad-47b5-afb1-f12cf756b79e"
      decimals="INF"
      id="F_b33bff56-cb5d-4561-a954-17feb6153340"
      unitRef="U_shares">2778000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="C_5df5f282-6844-4791-aeec-092ec52aeb06"
      decimals="INF"
      id="F_aa24bec9-4e08-40bd-befc-411575b0ce73"
      unitRef="U_shares">1671408</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:CommonStockSharesIssued
      contextRef="C_8e9550b1-18c8-4039-b3a4-5b158816fe0d"
      decimals="0"
      id="F_72d9361c-491b-438e-b357-bb5a04496c44"
      unitRef="U_shares">42621</us-gaap:CommonStockSharesIssued>
    <rgen:EarnoutConsiderationEarned
      contextRef="C_8e9550b1-18c8-4039-b3a4-5b158816fe0d"
      decimals="2"
      id="F_9b6f8e37-4e43-4f7e-8916-c2cc9e6f0454"
      unitRef="U_pure">0.50</rgen:EarnoutConsiderationEarned>
    <us-gaap:ShareBasedCompensation
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-5"
      id="F_a716a9ee-ad68-46d5-bad5-4aa193e73b57"
      unitRef="U_USD">25600000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-5"
      id="F_b5f9350d-ff05-4e1d-9aab-7641745c41fb"
      unitRef="U_USD">27300000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-5"
      id="F_6e252801-6bfb-4f31-8a21-34be63ad0793"
      unitRef="U_USD">27500000</us-gaap:ShareBasedCompensation>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_7e39bb34-93f9-426e-937b-22538b39d86e">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table presents stock-based compensation expense in the Company&#x2019;s consolidated statements of comprehensive income: &lt;/span&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.437%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.339%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.816%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.339%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.836%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.339%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.896%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cost of product revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,933&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,525&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,855&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,622&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,856&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Selling, general and administrative&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,787&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,169&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,623&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:15pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:15pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Total stock-based compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25,575&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,316&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,500&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:ShareBasedCompensation
      contextRef="C_dc7d7eec-9f46-46e4-8509-341b45573209"
      decimals="-3"
      id="F_0408e794-9069-4095-8026-413248fda0e6"
      unitRef="U_USD">1933000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_04b246ad-22b7-4909-956d-0b417823517e"
      decimals="-3"
      id="F_528001a5-2073-445c-be3a-1b0346fa0666"
      unitRef="U_USD">2525000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_141b94da-eb0e-4f0e-a7e2-89f465f22b1b"
      decimals="-3"
      id="F_9ed3e4b9-daf6-4b2c-ad7b-967fccd83f1e"
      unitRef="U_USD">2021000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_b1008982-a0e7-42c3-8ebb-940699378d24"
      decimals="-3"
      id="F_4d51a81d-d114-4676-a24a-042a08f6d6ad"
      unitRef="U_USD">2855000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_945aa599-c940-445d-9258-07a3bddba11c"
      decimals="-3"
      id="F_cc7e862a-d08b-404e-b08c-ead77a577d40"
      unitRef="U_USD">2622000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_b361b1da-071c-4210-8a38-ce6b99a79b49"
      decimals="-3"
      id="F_5e09c1fc-91e6-4fae-8c9c-86c4bd329d65"
      unitRef="U_USD">2856000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_95397cde-e80a-4279-b4e9-cf10f1c35dd3"
      decimals="-3"
      id="F_66267ef5-26ea-401a-8b7f-a6edfb5e104d"
      unitRef="U_USD">20787000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_6a912e51-af00-4572-811e-2b5970f1a018"
      decimals="-3"
      id="F_fa7cc09a-e3d2-41a4-82b0-b0e3d670611c"
      unitRef="U_USD">22169000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_3b788741-5d93-4233-bf76-1f8ce2171673"
      decimals="-3"
      id="F_141b3b77-a14d-492f-a4ec-611c7d608433"
      unitRef="U_USD">22623000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-3"
      id="F_9187467b-ff5a-4774-acc7-fff74fc02031"
      unitRef="U_USD">25575000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-3"
      id="F_dfb13ac6-d27f-4e22-b707-aae23ddd0901"
      unitRef="U_USD">27316000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-3"
      id="F_64f4c4b0-6446-4a5b-a8bc-457f63b8f9ef"
      unitRef="U_USD">27500000</us-gaap:ShareBasedCompensation>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_c524db63-7829-46c3-87bc-64104a9bc00f">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The fair value of stock option awards granted during the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021 were calculated using the following estimated assumptions:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:51.27%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.643%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.643%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.643%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="5" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;For the Years Ended December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expected term (in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.14&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.5&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.5&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expected volatility (range)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44.78&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;46.58&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;41.44&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;43.96&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44.57&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;45.27&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Risk-free interest rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.56&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.71&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.86&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.07&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.77&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.07&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expected dividend yield&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_04a162af-d019-45c7-ba8d-785db4be2cc4"
      id="F_8dda5c80-34cb-4d38-b99e-aa3f68f8a74c">P5Y1M20D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_97cd478d-6e58-4d36-ab63-87e2bef5f174"
      id="F_5da2e366-f7b1-47b3-ac79-898e0370066a">P6Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_b98a2b3e-73d2-4e3e-ad92-46b13211758b"
      id="F_03b0384c-12ff-488d-8b7d-dd984da1d65f">P5Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_9757f996-2ce2-4412-8fbd-38b26bafaf36"
      id="F_db5ce470-5e7a-45fb-90e8-ba36f2f44614">P6Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_0b61efd7-b157-442a-8cb0-f37e8914d5f6"
      id="F_92584495-b040-45d7-bbbc-2abc50b3d2a0">P5Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_5ad1494d-8984-40f9-a1cb-e139b09e9b9d"
      id="F_94da6364-7a18-486b-942a-04cf25420689">P6DT12H</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="4"
      id="F_54bd476f-b4cb-4ca9-8e2f-9d2f338a5dc3"
      unitRef="U_pure">0.4478</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="4"
      id="F_af8daedc-d947-4dd2-a75c-d4fad5d66c93"
      unitRef="U_pure">0.4658</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="4"
      id="F_67905fd4-4f40-424e-88d0-e6ea24d49649"
      unitRef="U_pure">0.4144</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="4"
      id="F_50a1449a-c1f4-4ba7-a318-aff1e6265b69"
      unitRef="U_pure">0.4396</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="4"
      id="F_5ed6e57b-45ba-434f-82cd-ac04862bf358"
      unitRef="U_pure">0.4457</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="4"
      id="F_a3e55f15-e8b0-4d7a-8e24-d3be8fc8c553"
      unitRef="U_pure">0.4527</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="4"
      id="F_14892088-4ced-4fc0-b86c-58c00e5e40c7"
      unitRef="U_pure">0.0356</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="4"
      id="F_0db56184-5c57-4e99-a4ce-26ad7e674a43"
      unitRef="U_pure">0.0471</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="4"
      id="F_d3c2a695-3546-4edb-adb3-b9070ffad422"
      unitRef="U_pure">0.0186</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="4"
      id="F_a08f456e-bff7-4eac-a124-b5b1a7327b5f"
      unitRef="U_pure">0.0407</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="4"
      id="F_18d56dca-57cd-4094-8fb1-9def62c7b83e"
      unitRef="U_pure">0.0077</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="4"
      id="F_19a4db12-7a75-4e18-990d-ffc0d86bcb6e"
      unitRef="U_pure">0.0107</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="2"
      id="F_d8fc8490-fa36-4d90-bb8a-72b72eb64726"
      unitRef="U_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="2"
      id="F_2dbb3316-f1bd-4157-92ce-89fcac834654"
      unitRef="U_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="2"
      id="F_c4adae43-d381-4068-bbca-bcac74b8483e"
      unitRef="U_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_b513f8b9-e9a9-4397-a12e-c02b75d11e0e">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Information regarding option activity for the year ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, under the Plans is summarized below:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:50.11%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.662%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.22%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:8.942%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.662%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.22%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.182%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted&lt;br/&gt;average&lt;br/&gt;exercise&lt;br/&gt;price&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&lt;br/&gt;Term&lt;br/&gt;(in Years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&lt;br/&gt;(in Thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options outstanding at December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;609,965&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;71.74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Granted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;90,305&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;168.22&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Exercised&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;40,211&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;26.76&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Forfeited/expired/cancelled&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,929&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;189.46&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options outstanding at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;649,130&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;85.97&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Options exercisable at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;364,443&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;65.53&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vested and expected to vest at December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;635,834&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;85.49&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.59&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;61,888&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="margin-left:6.667%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.571084182443509%;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Represents the number of vested options as of December 31, 2023 plus the number of unvested options expected to vest as of December 31, 2023, based on the unvested outstanding options at &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; adjusted for estimated forfeiture rates of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to non-executive level employees and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to executive level employees.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="INF"
      id="F_36b573f2-f23e-4306-aca9-9fc3762f4cf4"
      unitRef="U_shares">609965</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="2"
      id="F_b7bfdb21-2ff3-4c77-9ea5-184d71800ef5"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">71.74</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_74098bc1-c024-400d-9ab1-b0e5e57e103e"
      unitRef="U_shares">90305</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="2"
      id="F_02ece05b-95ce-437f-85c9-db00730d5c5c"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">168.22</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_b75187fa-cb38-4473-b2ba-6c7cf0b84492"
      unitRef="U_shares">40211</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="2"
      id="F_d2fb3af4-05f3-43bd-807f-028b577f7e09"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">26.76</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_2ecbf3e7-8f5d-439b-b6c3-23e35d57d27c"
      unitRef="U_shares">10929</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="2"
      id="F_31f6ca50-cd3f-4f11-b9fb-fa364f51f812"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">189.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="INF"
      id="F_09b1b644-53d6-4c9f-b67e-c8f84915b13d"
      unitRef="U_shares">649130</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="2"
      id="F_d613f511-ab36-489b-abbf-2d834f950c8e"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">85.97</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="INF"
      id="F_ec67f951-2dd3-4c36-97b2-fb8ed072e7ec"
      unitRef="U_shares">364443</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="2"
      id="F_b8cb9482-c8cf-40db-83b5-a899423751f5"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">65.53</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="INF"
      id="F_021aad2b-4a49-4225-be99-7fa2953ad116"
      unitRef="U_shares">635834</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="2"
      id="F_a27f812f-2426-4cda-aab5-2c38a908b3fd"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">85.49</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_4617d6da-ecc9-4558-811b-1c41db4c8d77">P5Y7M2D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-3"
      id="F_91e18973-a12d-4882-9a86-aa51ac55eba7"
      unitRef="U_USD">61888000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="C_a6df805d-7a1c-40ca-945b-fda4c79b5dc7"
      decimals="2"
      id="F_47c485de-51e4-4a45-b600-537256bb8e3e"
      unitRef="U_pure">0.08</rgen:PercentageOfSharesSubjectToForfeiture>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="C_e5c95f33-dcff-4103-abae-8ec2de93b51c"
      decimals="2"
      id="F_dfce14c9-2804-4a93-8f9b-dbb37452c363"
      unitRef="U_pure">0.03</rgen:PercentageOfSharesSubjectToForfeiture>
    <us-gaap:SharePrice
      contextRef="C_9d8eb4d3-dcb1-4dfe-a7e8-7486f6f981ff"
      decimals="INF"
      id="F_33ec9842-7420-4d4c-a626-c2aeda218f25"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">179.80</us-gaap:SharePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-5"
      id="F_04fccc83-37a7-41e7-8243-ea1193a4f245"
      unitRef="U_USD">5800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-5"
      id="F_d13fc622-43c8-4292-ac31-5a48dfbbccde"
      unitRef="U_USD">14100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-5"
      id="F_e88497d8-16c3-464d-ab58-77b699c7703c"
      unitRef="U_USD">20300000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="2"
      id="F_3747fc10-4a6d-4925-a94d-c0007fad71ce"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">84.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="2"
      id="F_7ff2212c-3db5-4501-997a-4df1ea7074c5"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">87.40</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="2"
      id="F_30b6b46f-8723-48cc-bcf8-5f35f8d4c5d8"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">88.01</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-5"
      id="F_7cd5f601-4eee-47c7-a2dc-ffa45fd2b308"
      unitRef="U_USD">4700000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="C_cd410ac8-bf8e-4911-9492-75c2d820a275"
      decimals="-5"
      id="F_66f46c99-919c-429a-9eb9-93dd830b7b08"
      unitRef="U_USD">3100000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="C_9c8f02f7-15cb-4b71-a446-1ee08a87df1e"
      decimals="-5"
      id="F_8f4e0e86-455c-4463-8bce-635337976fd0"
      unitRef="U_USD">3000000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_7c312577-a005-4ed2-8a75-21e6c9be404f">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Information regarding stock unit activity, which includes activity for restricted stock units and performance stock units, for the year ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023 under the Plans is summarized below:&lt;/span&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:65.92%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.12%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.12%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.64%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.6%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Weighted Average&lt;br/&gt;Grant Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unvested at December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;531,034&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;142.57&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Awarded&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;212,338&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;170.03&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vested&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;195,672&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;124.58&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Forfeited/cancelled&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;73,380&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;177.81&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unvested at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;474,320&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;155.59&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Vested and expected to vest at December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;413,249&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;152.74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="margin-left:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="margin-left:3.333%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:3.447919145106397%;display:inline-flex;justify-content:flex-start;"&gt;(1)&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Represents the number of vested stock units as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, plus the number of unvested stock units expected to vest as of December 31, 2023, based on the unvested outstanding stock units at December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; adjusted for estimated forfeiture rates of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to non-executive level employees and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% for awards granted to executive level employees.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="INF"
      id="F_6e8cbb87-24db-454f-9a06-b1889eccdfa2"
      unitRef="U_shares">531034</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="C_0c598f64-3ce3-4c44-bbc0-2731dec06b26"
      decimals="2"
      id="F_29f9a04e-a068-4d84-9b63-2ffd07cc1995"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">142.57</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_2f7fd2d5-41d7-4994-beca-b51bff6af663"
      unitRef="U_shares">212338</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="2"
      id="F_f530d330-3489-4aed-aee5-f31227642620"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">170.03</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_32062737-e6bd-46d5-85cb-899f8230140a"
      unitRef="U_shares">195672</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="2"
      id="F_3b889448-7dd3-4a6b-9961-84a8f04fc65f"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">124.58</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_4648bc05-a942-4e2e-b680-4d15ff2f4175"
      unitRef="U_shares">73380</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="2"
      id="F_1a4f77e6-76dc-418e-bbba-027148f019ac"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">177.81</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="INF"
      id="F_f053b3d9-a1df-4601-8797-c5c7d94cc563"
      unitRef="U_shares">474320</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="2"
      id="F_3ad27fc9-15ba-41ad-bb71-5320f08301a0"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">155.59</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="INF"
      id="F_8763b94a-297a-4ef3-91ad-5f476a4e6c6a"
      unitRef="U_shares">413249</rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber>
    <rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="2"
      id="F_21831b06-7b50-4441-b058-e4a70c89b813"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">152.74</rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageGrantDateFairValue>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="C_d1eb03d2-f31a-42b3-8e21-80c5629704f6"
      decimals="2"
      id="F_27994f01-e643-41b9-ac80-afbd32672ea7"
      unitRef="U_pure">0.08</rgen:PercentageOfSharesSubjectToForfeiture>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="C_2f20bf71-d33f-44d9-9a2f-ef1b16f8b88e"
      decimals="2"
      id="F_07a32555-37e1-4b01-a412-03ef4c540627"
      unitRef="U_pure">0.03</rgen:PercentageOfSharesSubjectToForfeiture>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="C_32027269-01ec-4fb8-8c03-af239df544a7"
      decimals="-5"
      id="F_9b9f76d2-3e95-4bbd-a594-c7e943823422"
      unitRef="U_USD">35700000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="C_6805c462-0ef7-4871-88b0-f551c5301d03"
      decimals="-5"
      id="F_57d862e8-f0a2-4bfd-b4f5-f0f7c9cb955b"
      unitRef="U_USD">43900000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="C_df2039f8-84a3-429c-a66d-8e1ad1765af9"
      decimals="-5"
      id="F_e8d42cda-1c50-484d-b083-0476c969f6b6"
      unitRef="U_USD">46500000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="C_32027269-01ec-4fb8-8c03-af239df544a7"
      decimals="-5"
      id="F_415766b1-b373-456a-b42c-6c0a6be677ca"
      unitRef="U_USD">26200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="C_6805c462-0ef7-4871-88b0-f551c5301d03"
      decimals="-5"
      id="F_7d5b1412-a21c-482a-8f4d-6e85148e9cbe"
      unitRef="U_USD">22700000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="C_df2039f8-84a3-429c-a66d-8e1ad1765af9"
      decimals="-5"
      id="F_e29c805d-8bb4-474f-9165-c2b2767f75f7"
      unitRef="U_USD">13900000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-5"
      id="F_30fc90f9-d33e-48ca-ad64-c2f4debd92ec"
      unitRef="U_USD">63800000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_c3cf086a-3264-4af4-be12-61c1206bb17a">P2Y10M2D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <rgen:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="INF"
      id="F_c75e71a0-d2c9-414d-9dc1-291c5357dc05"
      unitRef="U_shares">2185873</rgen:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="C_4a13ef59-11f0-4869-b3ec-6c01866a9203"
      id="F_a4ce2fb7-b815-4d04-8afe-976b1dd71b9c">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_50404f1c-9263-4759-8c7b-3cc85783c80f">&lt;div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;"&gt;13.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Commitments and Contingencies &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;License Agreement&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;On September 19, 2022, the Company entered into a 15-year exclusive License Agreement (the &#x201c;Daylight Agreement&#x201d;) with DRS Daylight Solutions, Inc. (&#x201c;Daylight&#x201d;), giving the Company exclusive license and commercialization rights to use certain technology and intellectual property subject to conditions set forth in the Daylight Agreement. The Company agreed to pay Daylight (i) an initial, one-time, non-refundable, non-creditable upfront cash payment and (ii) certain quarterly royalty payments.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Pursuant to the Daylight Agreement, the Company obtains the exclusive, non-transferrable, right and license to use specifically in the field of bioprocessing, the Daylight intellectual property called Culpeo&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; QCL-IR Liquid Analyzer (&#x201c;Culpeo&#x201d;), which is a compact, intelligent spectrometer that uses the power of quantum cascade lasers to analyze and identify chemicals. Under the Daylight Agreement, the Company assumes responsibility for the commercialization and sale of Culpeo, in addition to the ability&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;to incorporate the intellectual property into optimized products over the term of the Daylight Agreement. Daylight will continue to sell the products in the specified fields of Aerospace and Defense.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Collaboration Agreements&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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. R&amp;amp;D expenses associated with license agreements were immaterial amounts for the years ended December 31, 2023, 2022 and 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In June 2018, the Company secured an agreement with Navigo Proteins GmbH (&#x201c;Navigo&#x201d;) for the exclusive co-development of multiple affinity ligands for which Repligen holds commercialization rights. The Company is manufacturing and supplying the first of these ligands, NGL-Impact&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, exclusively to Purolite, who is pairing 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. The Company also signed a long-term supply agreement with Purolite for NGL-Impact and other potential additional affinity ligands that may advance from the Company&#x2019;s Navigo collaboration. In September 2020, the Company and Navigo successfully completed co-development of an affinity ligand targeting the SARS-CoV-2 spike protein, to be utilized in the purification of vaccines for the COVID-19 pandemic, including emerging variants of the SARS-CoV-2 coronavirus. The Company has proceeded with scaling up and manufacturing this ligand and the development and validation of the related affinity chromatography resin, which is marketed by the Company. In September 2021, the Company and Navigo successfully completed co-development of a novel affinity ligand that addresses aggregation issues associated with pH sensitive antibodies and Fc-fusion proteins. The Company is manufacturing and supplying this ligand, NGL-Impact&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; HipH, to Purolite. The Navigo and Purolite agreements are supportive of the Company&#x2019;s strategy to secure and reinforce the Company&#x2019;s proteins business.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; The Company made royalty payments to Navigo of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021, 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;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Purchase Orders, Supply Agreements and Other Contractual Obligations&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;34.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million are expected to be completed within one year.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Legal Proceedings&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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;/span&gt;&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:RoyaltyExpense
      contextRef="C_8c938ea9-304b-4311-99e3-3e2734dbbb32"
      decimals="-5"
      id="F_da60b91d-fb14-465a-ad38-86d7b4b9a79a"
      unitRef="U_USD">3800000</us-gaap:RoyaltyExpense>
    <us-gaap:RoyaltyExpense
      contextRef="C_aabb6a18-d0f6-4b1d-a1b9-9be92dd88cc3"
      decimals="-5"
      id="F_bfa4416b-a57c-47b3-b98b-633fa80151de"
      unitRef="U_USD">2600000</us-gaap:RoyaltyExpense>
    <us-gaap:RoyaltyExpense
      contextRef="C_a99ed7d0-9879-4894-8c89-02d90cf4d581"
      decimals="-5"
      id="F_5e86b3ec-5658-4f95-be93-5447f6610f48"
      unitRef="U_USD">2300000</us-gaap:RoyaltyExpense>
    <us-gaap:ContractualObligationDueInNextTwelveMonths
      contextRef="C_45b25950-5350-44d6-9095-0f27163c9d66"
      decimals="-5"
      id="F_d7947047-827c-484c-89f5-4d856227c72a"
      unitRef="U_USD">34300000</us-gaap:ContractualObligationDueInNextTwelveMonths>
    <us-gaap:LongTermDebtTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_59f3f2f3-c14b-4242-9012-867572e479f0">&lt;div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;"&gt;14.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Convertible Senior Notes &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-size:12pt;font-family:Times New Roman;"&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The carrying value of the Company&#x2019;s convertible senior notes is as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:67.08%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.84%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.84%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;0.375% Convertible Senior Notes due 2024:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Principal amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69,700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287,470&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unamortized debt issuance costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;248&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,855&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Carrying amount - Convertible Senior Notes due 2024, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69,452&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;284,615&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;1.00% Convertible Senior Notes due 2028:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Principal amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;600,000&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unamortized debt discount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81,457&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unamortized debt issuance costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,400&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Carrying amount - Convertible Senior Notes due 2028, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510,143&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;1.00% Convertible Senior Notes due 2028&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;On December 14, 2023, the Company issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;600.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of its 2023 Notes in the Exchange and Subscription Agreements with a limited number of holders of its outstanding 2019 Notes and certain other qualified institutional buyers pursuant to Rule 144A under the Securities Act. Pursuant to the Exchange and Subscription Agreements, the Company exchanged $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;217.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of its 2019 Notes, which were cancelled upon exchange, for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;309.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of the 2023 Notes (the &#x201c;Exchange Transaction&#x201d;) and issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of the 2023 Notes in a private placement to accredited institutional buyers (the &#x201c;Subscription Transactions&#x201d;) for $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;290.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in cash.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company evaluated the Exchange Transaction and determined approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of the $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;217.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million principal of the exchanged 2019 Notes should be accounted for as extinguishments of debt and approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;188.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million should be accounted for as modification of debt. As a result, we recognized a $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million loss on extinguishment of debt in our consolidated statements of comprehensive income for the year ended December 31, 2023, inclusive of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of unamortized debt issuance costs. Under modification accounting, the carrying amount of the modified 2019 Notes was reduced by $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, with a corresponding increase to additional paid-in capital, to account for the increase in the fair value of the embedded conversion option, representing a debt discount of the modified 2019 Notes. The aggregate debt discount of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;82.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, comprised of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;79.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million increase in principal of the modified 2019 Notes and a $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million increase in the fair value of the embedded conversion option, is as a direct reduction from the carrying value of the convertible debt on our consolidated balance sheets. This amount will be accreted into interest expense in the consolidated statements of comprehensive income using the effective interest method over the term of the 2023 Notes.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Proceeds from the Subscription Transactions were $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;276.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, net of debt issuance costs of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The Exchange Transaction resulted in $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of the debt issuance costs related to the modified 2019 Notes, which were expensed as incurred in accordance with modification accounting, and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of deferred debt issuance costs related to the 2023 Notes, which were recorded as a direct deduction to the carrying value of the 2023 Notes on the Company&#x2019;s consolidated balance sheets. The Company will amortize the $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of debt issuance costs of the 2023 Notes into amortization of debt issuance costs in the Company&#x2019;s consolidated statements of comprehensive income over the remaining term of the 2023 Notes. The carrying value of the 2023 Notes of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million is included in long-term debt on the Company's consolidated balance sheets as of December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company used &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of the proceeds from the Subscription Transactions to repurchase shares of its common stock from certain purchasers of the 2023 Notes. See Note 12, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;&#x201c;Stockholders&#x2019; Equity - Share Repurchases&#x201d; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;for additional information related to this repurchase. The Company will also use a portion of the proceeds to finance in part, the settlement upon conversion or repurchase of the remaining 2019 Notes at or prior to maturity. The remainder of the proceeds will be used for working capital&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and general corporate purposes, including to fund possible acquisitions of, or investments in, complementary businesses, products, services and technologies.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The 2023 Notes are senior, unsecured obligations of the Company, and bear interest at a rate of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.00&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% per year. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Interest is payable semi-annually in arrears on each June 15 and December 15, commencing on June 15, 2024&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. The 2023 Notes will mature on &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 15, 2028&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, unless earlier redeemed, repurchased or converted. The initial conversion rate for the 2023 Notes is &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.9247&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares of the Company's common stock per $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; principal amount of 2023 Notes, which is equivalent to an initial conversion price of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;203.06&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; per share and represents a &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% premium over the last reported sale price of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;156.20&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; per share on December 6, 2023, the date on which the 2023 Notes were priced. Prior to the close of business on the business day immediately preceding September 15, 2028, the 2023 Notes will be convertible at the options of the holders of 2023 Notes only upon the satisfaction of specified conditions and during certain periods into cash up to their principal amount, and into cash, shares of the Company's common stock or a combination thereof, at the Company's election, for the conversion value above the principal amount, if any. Thereafter until the close of business on the second scheduled trading day immediately preceding the maturity date, the 2023 Notes will be convertible at the option of the holders of 2023 Notes at any time regardless of these conditions. The Company may redeem for cash, all or a portion of the 2023 Notes, at its option, on or after December 18, 2026 and prior to the 21st scheduled trading day immediately preceding the maturity date at a redemption price of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the principal amount of the 2023 Notes to be redeemed, plus accrued and unpaid interest to, but excluding the redemption date, if certain conditions are met in accordance to the indenture governing the 2023 Notes (the &#x201c;2023 Notes Indenture&#x201d;).&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;If the Company undergoes a &#x201c;fundamental change&#x201d; (as defined in the 2023 Notes Indenture), the holders of the 2023 Notes may require the Company to repurchase for cash all or part of their 2023 Notes at a purchase price equal to &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the principal amount of the 2023 Notes to be repurchased, plus accrued and unpaid interest, if any, up to, but excluding, the fundamental change repurchase date. In addition, if certain &#x201c;make-whole fundamental changes&#x201d; (as defined in 2023 Notes Indenture) occur or the Company calls all or a portion of the 2023 Notes for redemption, the Company will, in certain circumstances, increase the conversion rate for any 2023 Notes converted in connection with such make-whole fundamental change or any 2023 Notes called for redemption that are converted during the related redemption period.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Interest expense recognized on the 2023 Notes in 2023 wa&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;s $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million for the contractual coupon interest and accretion of the debt discount, respectively. Amortization of debt issuance costs recorded in 2023 related to the 2023 Notes was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; mill&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;ion, which includes the $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of debt issuance costs recorded under modification accounting mentioned above and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million amortization of debt issuance costs related to the capitalized portion of the costs. The effective interest rate on the 2023 Notes is &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.39&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;%,&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; which included the interest on the 2023 Notes and amortization of the debt discount and issuance costs. As of December 31, 2023, the carrying value of the 2023 Notes was&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;million and the fair value of the principal was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;596.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The fair value of the 2023 Notes was determined based on the most recent trade activity of the 2023 Notes as of December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The 2023 Notes Indenture 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 &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% in aggregate principal amount of the outstanding 2023 Notes may declare &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the principal of, and any accrued and unpaid interest on, all of the 2023 Notes to be due and payable. Upon the occurrence of certain events of bankruptcy, insolvency or reorganization involving the Company, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the principal of and accrued and unpaid interest, if any, on all of the 2023 Notes will become due and payable automatically.  Notwithstanding the foregoing, the 2023 Notes provide that, to the extent the Company elects and for up to 365 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 2023 Notes. The Company is not aware of any events of default that would allow holders to declare the principal of, and any accrued and unpaid interest on, all of the 2023 Notes to be due and payable.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;0.375% Convertible Senior Notes due 2024&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;T&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;he Company issued $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of the 2019 Notes on July 19, 2019 in a transaction which included the underwriters&#x2019; exercise in full of an option to purchase an additional $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;37.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;aggregate principal amount of 2019 Notes (the &#x201c;Notes Offering&#x201d;). The net proceeds of the Notes Offering, after deducting underwriting discounts and&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;commissions &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and other related offering expenses payable by the Company, were approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;278.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Immediately following the closing of the Exchange Transaction mentioned above, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in aggregate principal amount of the 2019 Notes remain outstanding.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The 2019 Notes are senior, unsecured obligations of the Company, and bear interest at a rate of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.375&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% per year. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Interest is payable semi-annually in arrears on January 15 and July 15 of each year, beginning on January 15, 2020&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. The remaining 2019 Notes will mature on &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;July 15, 2024&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, unless earlier repurchased or converted in accordance with their terms. The initial conversion rate for the 2019 Notes is &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8.6749&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares of the Company&#x2019;s common stock per $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; principal amount of 2019 Notes (which is equivalent to an initial conversion price of approximately $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115.28&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; per share). Prior to the close of business on the business day immediately preceding April 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 remaining 2019 Notes will be convertible at the options of the holders of 2019 Notes at any time regardless of these conditions. Prior to March 4, 2022, conversion of the 2019 Notes could have been settled in cash, shares of the Company&#x2019;s common stock or a combination thereof, at the Company&#x2019;s election. On March 4, 2022, the Company entered into the Second Supplemental Indenture for the 2019 Notes, which irrevocably elected to settle the conversion of the 2019 Notes using a combination of cash and the Company&#x2019;s common stock, settling the par value of the 2019 Notes in cash and any excess conversion premium in shares. The 2019 Notes are not redeemable by the Company prior to maturity.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% 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;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;During the fourth quarter of 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, the closing price of the Company&#x2019;s common stock exceeded &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;130&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the conversion price of the 2019 Notes for more than &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; trading days of the last &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; 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 2024, the quarter immediately following the quarter when conditions are met, as stated in the terms of the 2019 Notes. These conditions have been met each quarter since the third quarter of 2020. As a result, as of the date of this filing and prior to the Exchange Transaction mentioned above, the Company received requests to convert $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million aggregate principal amount of the 2019 Notes and all but $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of the requests have been settled as of December 31, 2023. The remaining outstanding requests for conversions will settle in the first quarter of 2024. The conversions resulted in the issuance of a nominal number of shares of the Company&#x2019;s common stock to the note holders. Because the 2019 Notes mature within one year of the report date, the Company classifies the carrying value of the 2019 Notes of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million as current liabilities on the Company's consolidated balance sheets at &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Prior to the adoption of ASU 2020-06, the Company accounted for the 2019 Notes as a liability and equity component where the carrying value of the liability component was valued based on a similar debt instrument. In accounting for the issuance of the 2019 Notes, the Company separated the 2019 Notes into liability and equity components. The carrying value of the liability component was calculated as the present value of its cash flows using a discount rate of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% based on comparative convertible transactions for similar companies. The carrying value of the equity component representing the conversion option was determined by deducting the fair value of the liability component from the par value of the 2019 Notes as a whole. The excess of the principal amount of the liability component over its carrying value amount, referred to as the debt discount, was amortized to interest expense on our consolidated statements of comprehensive income over the five-year term of the 2019 Notes. The equity component was not re-measured as long as it continued to meet the conditions for equity classification. The equity component related to the 2019 Notes recorded at issuance was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;52.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, which was recorded in additional paid-in capital on the Company's consolidated balance sheets.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;In accounting for the transaction costs related to the issuance of the 2019 Notes, the Company allocated the total costs incurred to the liability and equity components of the 2019 Notes using the same proportions as the initial carrying value of the 2019 Notes. Transaction costs related to the liability component were $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and are amortized to interest expense using the effective interest method over the five-year term of the 2019 Notes. Transaction costs attributable to the equity component were $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.6&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and are netted with the equity component of the 2019 Notes in stockholders' equity of the Company's consolidated balance sheets. Additionally, the Company recorded a net deferred tax liability of $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Effective January 1, 2022, the Company adopted ASU 2020-06. After adoption, the Company now accounts for the 2019 Notes, and any convertible debt issued going forward, as a single liability measured at amortized cost. As the equity component is no longer required to be split into a separate component, the Company recorded a net adjustment for the initial $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;50.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million that was allocated to additional paid-in capital and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22.9&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million of life-to-date interest expense recorded as amortization of debt discount. Additionally, the net deferred tax liability recorded for the 2019 Notes was reversed. The principal amount of the liability over its carrying amount is amortized to interest expense over the five-year term of the 2019 Notes. Since the 2019 Notes are classified as a single liability, there is no debt discount required to be amortized in 2022.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Contractual coupon interest expense related to the 2019 Notes was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in 2023 &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;and the Company recorded $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; mill&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;ion of amortization of the debt issuance costs related to the 2019 Notes as well. The effective interest rate on the 2019 Notes is &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.02&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;%, which included the interest on the 2019 Notes and amortization of the debt issuance costs. As of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, the carrying value of the 2019 Notes was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and the fair value of the principal was $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;109.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The fair value of the 2019 Notes was determined based on the most recent trade activity of the 2019 Notes as of December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The indenture governing the 2019 Notes 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 &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;25&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% in aggregate principal amount of the outstanding 2019 Notes may declare &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% 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, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% 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 360 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 declare the principal of, and any accrued and unpaid interest on, all of 2019 Notes to be due and payable.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</us-gaap:LongTermDebtTextBlock>
    <us-gaap:ConvertibleDebtTableTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_0fc24906-aca3-4cef-8a6c-9b03f99aa734">&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The carrying value of the Company&#x2019;s convertible senior notes is as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:12pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:90.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:67.08%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.84%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.62%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.84%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Amounts in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;0.375% Convertible Senior Notes due 2024:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Principal amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69,700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;287,470&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unamortized debt issuance costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;248&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,855&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Carrying amount - Convertible Senior Notes due 2024, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69,452&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;284,615&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;1.00% Convertible Senior Notes due 2028:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Principal amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;600,000&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unamortized debt discount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;81,457&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Unamortized debt issuance costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,400&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Carrying amount - Convertible Senior Notes due 2028, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;510,143&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ConvertibleDebtTableTextBlock>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425"
      decimals="-3"
      id="F_b3a044aa-2442-49ee-bf82-fda5375c15bf"
      unitRef="U_USD">69700000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="C_320c7ca1-e95f-4052-bb17-77c7d630c1ef"
      decimals="-3"
      id="F_9b527d43-9b8f-4c13-9da0-e3cf82824bac"
      unitRef="U_USD">287470000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425"
      decimals="-3"
      id="F_283ce081-b650-491a-a2c3-4b68948a0e22"
      unitRef="U_USD">248000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="C_320c7ca1-e95f-4052-bb17-77c7d630c1ef"
      decimals="-3"
      id="F_dce2bfcd-ace0-45bf-a0cc-f7c545d240aa"
      unitRef="U_USD">2855000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425"
      decimals="-3"
      id="F_164aac08-a51c-4fe5-8499-b319d4f774c2"
      unitRef="U_USD">69452000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="C_320c7ca1-e95f-4052-bb17-77c7d630c1ef"
      decimals="-3"
      id="F_4322ff7e-e64b-475e-9473-8ae014093692"
      unitRef="U_USD">284615000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea"
      decimals="-3"
      id="F_9ed0d7ba-470b-432e-815a-ddbc01694d2e"
      unitRef="U_USD">600000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="C_70d04d82-1744-48f0-8fd0-41937327db0b"
      decimals="-3"
      id="F_f5b9cd22-5407-4193-bc94-7249ef2548d8"
      unitRef="U_USD">0</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea"
      decimals="-3"
      id="F_b34f4ecc-dd2f-4203-84d3-3f5707c73713"
      unitRef="U_USD">81457000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="C_70d04d82-1744-48f0-8fd0-41937327db0b"
      decimals="-3"
      id="F_a70e1383-7916-42be-8a1e-48cd399a715d"
      unitRef="U_USD">0</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea"
      decimals="-3"
      id="F_57dd2628-680a-4408-80b4-6ca8eec21e0b"
      unitRef="U_USD">8400000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="C_70d04d82-1744-48f0-8fd0-41937327db0b"
      decimals="-3"
      id="F_a7b6db9d-e711-421e-b844-bc80de681d73"
      unitRef="U_USD">0</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea"
      decimals="-3"
      id="F_0619c6c5-6a19-4d30-abf5-acadad9e62b4"
      unitRef="U_USD">510143000</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="C_70d04d82-1744-48f0-8fd0-41937327db0b"
      decimals="-3"
      id="F_567d93a3-16e1-4367-807a-83fba87026f6"
      unitRef="U_USD">0</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_28f41206-0b5a-42aa-821d-020d8aef3341"
      decimals="-5"
      id="F_b1fa90d6-dd7d-4ecf-82d1-9b2124c1a9d4"
      unitRef="U_USD">600000000</us-gaap:DebtInstrumentFaceAmount>
    <rgen:DebtInstrumentExchangedAmount
      contextRef="C_758b478e-0fb1-42f2-a8c4-70f7ab33f82e"
      decimals="-5"
      id="F_8597c503-9f92-481f-9f66-6776c689ffc2"
      unitRef="U_USD">217700000</rgen:DebtInstrumentExchangedAmount>
    <rgen:DebtInstrumentExchangedAmountCancelled
      contextRef="C_65140819-c846-433b-a0f2-ad0fdc3b1308"
      decimals="-5"
      id="F_4bd807f6-c712-484d-980b-1efe1f659f83"
      unitRef="U_USD">309900000</rgen:DebtInstrumentExchangedAmountCancelled>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_58a6018f-b731-4a31-9169-e8ac0c4c8e50"
      decimals="-5"
      id="F_f012d803-870e-46eb-9a78-0e561ad462be"
      unitRef="U_USD">290100000</us-gaap:DebtInstrumentFaceAmount>
    <rgen:DebtInstrumentIssuedForCash
      contextRef="C_826b001f-8995-4dfe-a75f-11bb3ac3fc1a"
      decimals="-5"
      id="F_aeeab64e-0325-433a-9379-2dd9b7fc85f1"
      unitRef="U_USD">290100000</rgen:DebtInstrumentIssuedForCash>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_758b478e-0fb1-42f2-a8c4-70f7ab33f82e"
      decimals="-5"
      id="F_b6190c34-f944-4686-9222-4efa92b5b63a"
      unitRef="U_USD">29600000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <rgen:DebtInstrumentExchangedAmount
      contextRef="C_758b478e-0fb1-42f2-a8c4-70f7ab33f82e"
      decimals="-5"
      id="F_b0210ed2-d86f-4e49-93e9-0be4217edfe4"
      unitRef="U_USD">217700000</rgen:DebtInstrumentExchangedAmount>
    <rgen:ModificationOfDebt
      contextRef="C_8f926fa8-b0ba-41fc-9906-6f65d6efb057"
      decimals="-5"
      id="F_ab59c823-d1bb-46da-8c24-9847d88453e9"
      unitRef="U_USD">188100000</rgen:ModificationOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="C_553852e5-f660-4778-8733-3912cb9ab81e"
      decimals="-5"
      id="F_1e4d627a-c5bf-4dca-8b69-906e13a8bad2"
      unitRef="U_USD">12700000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="C_7d4ebbb7-d121-4795-b40e-b0083e96b933"
      decimals="-5"
      id="F_b427a4a5-22e2-4482-b3f3-e5a74c171147"
      unitRef="U_USD">100000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="C_efddb8f6-3d84-4fe7-a51c-93eceedade77"
      decimals="-5"
      id="F_6e7de165-d42e-4ad0-8be8-b11e85ed1671"
      unitRef="U_USD">2800000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="C_ab61df74-eb80-464e-a4c7-9da2cadbc855"
      decimals="-5"
      id="F_ca037c2c-7aaf-41c9-8285-a6c5728ead5b"
      unitRef="U_USD">82100000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_ab61df74-eb80-464e-a4c7-9da2cadbc855"
      decimals="-5"
      id="F_5e1a8d9a-46a2-4818-8463-ae862d30a223"
      unitRef="U_USD">79300000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="C_2ebef10c-1bfd-46c1-869d-5197dd62d60b"
      decimals="-5"
      id="F_c3e64568-a2df-4569-8a8a-6cda30207648"
      unitRef="U_USD">2800000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="C_523b577f-8694-4c5c-bc9c-89902f8a8f08"
      decimals="-5"
      id="F_f2a4d8b4-6a4a-4095-98c0-c8d29d3cd79b"
      unitRef="U_USD">276100000</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="C_523b577f-8694-4c5c-bc9c-89902f8a8f08"
      decimals="-5"
      id="F_fa9c8b3a-d485-46e2-8dae-5e78193f1340"
      unitRef="U_USD">14000000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="C_4619b23a-a216-4534-a36b-2e590e473ee9"
      decimals="-5"
      id="F_cab02e9f-7e19-4366-9cab-17ac87e759ec"
      unitRef="U_USD">6200000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="C_00980794-5d70-4348-a45b-9a5b33cd024e"
      decimals="-5"
      id="F_a5d53f7f-8d31-4267-ad26-76ee82c7bc8e"
      unitRef="U_USD">7800000</us-gaap:DeferredFinanceCostsNet>
    <rgen:AmortizationOfDebtIssuanceCost
      contextRef="C_4619b23a-a216-4534-a36b-2e590e473ee9"
      decimals="-5"
      id="F_52ad0ad6-88f6-4ad8-ae49-836f900c8395"
      unitRef="U_USD">7800000</rgen:AmortizationOfDebtIssuanceCost>
    <us-gaap:LongTermDebt
      contextRef="C_6aaa377d-82ea-49a6-a59a-f32b03714b38"
      decimals="-5"
      id="F_e97f16f0-b935-49bf-a378-15fe9bf9a10e"
      unitRef="U_USD">510100000</us-gaap:LongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="C_523b577f-8694-4c5c-bc9c-89902f8a8f08"
      decimals="-5"
      id="F_e45fc818-9034-4448-b57a-e762e760b20b"
      unitRef="U_USD">14400000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea"
      decimals="4"
      id="F_88782a28-2eaf-4dc1-b222-88e6a95b7c32"
      unitRef="U_pure">0.01</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateTerms
      contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60"
      id="F_8e5a6d7a-a429-4f68-a54e-c323a809b496">Interest is payable semi-annually in arrears on each June 15 and December 15, commencing on June 15, 2024</us-gaap:DebtInstrumentInterestRateTerms>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60"
      id="F_61d0d1dd-9f54-413a-8209-f226ea43713a">2028-12-15</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:DebtInstrumentConvertibleConversionRatio1
      contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60"
      decimals="1"
      id="F_f7587cb3-db10-4829-9d04-92226e52bfc5"
      unitRef="U_pure">4924.7000</us-gaap:DebtInstrumentConvertibleConversionRatio1>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_720ee9a7-f328-4954-89d0-db33b1176580"
      decimals="-3"
      id="F_2a0d023c-3b6b-4c3b-88e6-1c5082c848b5"
      unitRef="U_USD">1000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea"
      decimals="2"
      id="F_6290dd69-a1e2-4091-b20a-6b9ad4f80662"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">203.06</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60"
      decimals="2"
      id="F_fe9e8a70-8fc0-4e38-ab47-3e94b463043a"
      unitRef="U_pure">0.30</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:SharePrice
      contextRef="C_9ad2189e-e69d-4460-9877-8741f4ce6bcd"
      decimals="2"
      id="F_b392fe40-d14e-4341-b20a-475532009b6b"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">156.2</us-gaap:SharePrice>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_0a0c86ba-c334-41b2-bcc0-4dbd40d7f5b8"
      decimals="2"
      id="F_c82aff06-8912-4ec9-bfaf-ef9f22781919"
      unitRef="U_pure">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60"
      decimals="2"
      id="F_ba41c20c-5680-4fdf-a582-f27390f58553"
      unitRef="U_pure">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60"
      decimals="-5"
      id="F_18bda1cf-a0ae-41c2-b171-266f08005052"
      unitRef="U_USD">200000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60"
      decimals="-5"
      id="F_6820a387-eb0d-408c-81cb-451111a36f41"
      unitRef="U_USD">600000</us-gaap:AmortizationOfFinancingCosts>
    <rgen:AmortizationOfDebtIssuanceCost
      contextRef="C_0a0c86ba-c334-41b2-bcc0-4dbd40d7f5b8"
      decimals="-5"
      id="F_cc4cc579-5073-4c99-875d-32e6730f8ab9"
      unitRef="U_USD">6300000</rgen:AmortizationOfDebtIssuanceCost>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60"
      decimals="-5"
      id="F_dd3da8de-48ea-4a7f-b5cb-e7693cf034b1"
      unitRef="U_USD">6200000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <rgen:AmortizationOfDebtIssuanceCost
      contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60"
      decimals="-5"
      id="F_26b39831-1c33-400f-8fab-53390a5eddbb"
      unitRef="U_USD">100000</rgen:AmortizationOfDebtIssuanceCost>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="C_90e27fa0-e6e3-4bdc-a16a-8c20dd62e2ea"
      decimals="4"
      id="F_192c7843-af1a-48e0-9457-2f1e7ca70297"
      unitRef="U_pure">0.0439</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:LongTermDebt
      contextRef="C_6aaa377d-82ea-49a6-a59a-f32b03714b38"
      decimals="-5"
      id="F_e133ad91-1e73-40cf-a168-580ccd9165aa"
      unitRef="U_USD">510100000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtFairValue
      contextRef="C_6aaa377d-82ea-49a6-a59a-f32b03714b38"
      decimals="-5"
      id="F_4a320af2-5704-4ccc-9396-3b07a6824722"
      unitRef="U_USD">596000000</us-gaap:LongTermDebtFairValue>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_54184f1a-1592-4665-af8d-409b694a5dec"
      decimals="2"
      id="F_c26e84e0-458e-4017-b74c-df9eccd9cb71"
      unitRef="U_pure">0.25</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_c25151a6-90d3-41cb-a88f-808558dea0d0"
      decimals="2"
      id="F_0d502afc-2dde-46ed-bf85-91abd7093961"
      unitRef="U_pure">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_bba058d3-96b3-4a2e-a279-e906ee963d60"
      decimals="2"
      id="F_9636ed25-8233-4d9b-a900-6cf10c8d8c43"
      unitRef="U_pure">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_7e93c0d0-63e6-41ca-b59d-86f69eed6201"
      decimals="-5"
      id="F_1f6f0069-70c2-43f6-bbb3-c376263c1d06"
      unitRef="U_USD">287500000</us-gaap:DebtInstrumentFaceAmount>
    <rgen:OptionToPurchaseAdditionalDebtFaceAmount
      contextRef="C_7e93c0d0-63e6-41ca-b59d-86f69eed6201"
      decimals="-5"
      id="F_08cca822-ee03-45d0-ae6c-32f21b8df7ab"
      unitRef="U_USD">37500000</rgen:OptionToPurchaseAdditionalDebtFaceAmount>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="C_f59c1d75-93e9-4ae7-b688-2e3a9f1cc4f6"
      decimals="-5"
      id="F_03ab8dbd-8d6a-4de1-892d-34c3b05e5dab"
      unitRef="U_USD">278500000</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_16ced66a-a0a8-434a-a2c2-3aa9415a3733"
      decimals="-5"
      id="F_6f95fee0-ae65-48d1-bfd2-0cb2008a18ea"
      unitRef="U_USD">69700000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="C_7e93c0d0-63e6-41ca-b59d-86f69eed6201"
      decimals="5"
      id="F_4a3fb910-1f64-47de-865e-a5d4c074e870"
      unitRef="U_pure">0.00375</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateTerms
      contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f"
      id="F_bac87079-b986-4ae5-bf7d-f3d8523b4a8b">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="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f"
      id="F_4e5a77d7-70db-45a0-82a1-58765e797f08">2024-07-15</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:DebtInstrumentConvertibleConversionRatio1
      contextRef="C_f59c1d75-93e9-4ae7-b688-2e3a9f1cc4f6"
      decimals="4"
      id="F_2af05518-500e-4b5d-b3f8-b2ddb443a6f5"
      unitRef="U_pure">8.6749</us-gaap:DebtInstrumentConvertibleConversionRatio1>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="C_9150ef17-9f11-4bce-9b07-26e9ff551c7f"
      decimals="-3"
      id="F_f5669c96-de41-491e-94fd-c33c0bcfe3e8"
      unitRef="U_USD">1000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="C_7e93c0d0-63e6-41ca-b59d-86f69eed6201"
      decimals="INF"
      id="F_37770e3f-bebe-43d1-a223-8da2b9daad3e"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">115.28</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_f59c1d75-93e9-4ae7-b688-2e3a9f1cc4f6"
      decimals="INF"
      id="F_5048042d-e3e4-402a-bc3f-b4a0c66c5e44"
      unitRef="U_pure">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger
      contextRef="C_8e9549bb-d861-4e1b-8c16-7f3c53871517"
      decimals="2"
      id="F_f39d420b-4c35-4171-821a-a9668547bec5"
      unitRef="U_pure">1.30</us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger>
    <us-gaap:DebtInstrumentConvertibleThresholdTradingDays
      contextRef="C_8e9549bb-d861-4e1b-8c16-7f3c53871517"
      decimals="INF"
      id="F_48aa7b96-36db-4b96-991b-934d675dad12"
      unitRef="U_Days">20</us-gaap:DebtInstrumentConvertibleThresholdTradingDays>
    <us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1
      contextRef="C_8e9549bb-d861-4e1b-8c16-7f3c53871517"
      decimals="INF"
      id="F_5491691b-826d-4885-b3c2-027345f54f13"
      unitRef="U_Days">30</us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1>
    <rgen:DebtInstrumentConvertibleIntoEquity
      contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425"
      decimals="-5"
      id="F_fde09415-334f-4d2a-b768-3887b61985ab"
      unitRef="U_USD">200000</rgen:DebtInstrumentConvertibleIntoEquity>
    <rgen:DebtInstrumentConvertibleIntoEquitySettled
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="-5"
      id="F_e90fab44-0662-4d3f-9636-3134b0c16acd"
      unitRef="U_USD">100000</rgen:DebtInstrumentConvertibleIntoEquitySettled>
    <us-gaap:LiabilitiesCurrent
      contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425"
      decimals="-5"
      id="F_1c856ed6-8ffe-41e9-8268-8438d14daf49"
      unitRef="U_USD">69500000</us-gaap:LiabilitiesCurrent>
    <rgen:DiscountRate
      contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f"
      decimals="3"
      id="F_3b72a09e-c955-4372-a108-3ffc825a5d14"
      unitRef="U_pure">0.045</rgen:DiscountRate>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425"
      decimals="-5"
      id="F_b6ec1a7f-3249-4d2a-bc32-b20e567373d4"
      unitRef="U_USD">52100000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <rgen:ConvertibleNotesTransactionCostsOfLiabilityComponent
      contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f"
      decimals="-5"
      id="F_0fd7ad05-1cf8-4387-b94d-0c79c88ba2bb"
      unitRef="U_USD">7400000</rgen:ConvertibleNotesTransactionCostsOfLiabilityComponent>
    <rgen:ConvertibleNotesTransactionCostsOfEquityComponent
      contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425"
      decimals="-5"
      id="F_c1f956c4-0738-4a90-9634-b64ed6e7e376"
      unitRef="U_USD">1600000</rgen:ConvertibleNotesTransactionCostsOfEquityComponent>
    <us-gaap:DeferredTaxLiabilities
      contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425"
      decimals="-5"
      id="F_59649254-e080-483d-b124-9d64797339d9"
      unitRef="U_USD">11400000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt
      contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f"
      decimals="-5"
      id="F_0dbece29-2c75-4ddb-95cd-3906108dcfe3"
      unitRef="U_USD">50400000</us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f"
      decimals="-5"
      id="F_7a60d0a8-01a2-49ef-8315-223571ed25c7"
      unitRef="U_USD">22900000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f"
      decimals="-5"
      id="F_18f09e04-5b7a-4d35-aa11-e2236ec599a5"
      unitRef="U_USD">1000000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f"
      decimals="-5"
      id="F_39159c17-7cf6-4704-9fae-b6feaf3f9a5d"
      unitRef="U_USD">1800000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="C_320c7ca1-e95f-4052-bb17-77c7d630c1ef"
      decimals="4"
      id="F_7b69ad5c-00b4-4aa3-8929-bc44f8b6d76c"
      unitRef="U_pure">0.0102</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:LongTermDebt
      contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425"
      decimals="-5"
      id="F_39edc726-bf73-4a54-9e0b-29e8884e883e"
      unitRef="U_USD">69500000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtFairValue
      contextRef="C_bd13d202-f611-4de3-bb60-de3263a4d425"
      decimals="-5"
      id="F_ea38a55b-b650-45bf-b7af-ede06a049c1a"
      unitRef="U_USD">109800000</us-gaap:LongTermDebtFairValue>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      decimals="2"
      id="F_c452ba28-6752-4531-8267-893cfa03f7c4"
      unitRef="U_pure">0.25</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f"
      decimals="2"
      id="F_adb281b6-f4a7-4a82-9966-fd1a1b1ffcc8"
      unitRef="U_pure">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="C_325a9ae3-e09c-4c67-bdb4-fe8406445a3f"
      decimals="2"
      id="F_3dd3c52a-172a-4fc5-a7d7-f6676acf90c1"
      unitRef="U_pure">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:CompensationAndEmployeeBenefitPlansTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_cc038866-8a7e-46d9-b293-a4c96fa69368">&lt;div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;"&gt;15.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Employee Benefit Plans &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 401(k) of the Internal Revenue Code. All U.S. employees over the age of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;21&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; are eligible to make pre-tax 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 $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in the years ended December 31, 2023, 2022 and 2021, respectively.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&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 $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $1&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively to the defined contribution plan for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</us-gaap:CompensationAndEmployeeBenefitPlansTextBlock>
    <rgen:DefinedContributionPlanEmployeeEligibilityAge
      contextRef="C_04a162af-d019-45c7-ba8d-785db4be2cc4"
      id="F_77a50225-d658-46d8-96d0-41aec254e16f">P21Y</rgen:DefinedContributionPlanEmployeeEligibilityAge>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="C_1cedf720-2fed-4464-9b91-5fa91941f750"
      decimals="-5"
      id="F_d1ccceae-80a9-4755-843b-f8ea3ebd0940"
      unitRef="U_USD">3000000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="C_4a31f843-73e2-41d8-9985-d95872456ff9"
      decimals="-5"
      id="F_a44bd999-e08a-4d92-9775-d8a45b249abd"
      unitRef="U_USD">2700000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="C_ca71e7e9-5ff7-46a2-919a-adebe8640f89"
      decimals="-5"
      id="F_e4053863-e976-4f37-b464-f451d295572a"
      unitRef="U_USD">1800000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="C_5f2f9205-eb7e-470d-a7d9-d8118fbdda79"
      decimals="-5"
      id="F_f19d68d6-6565-425c-bf27-059cbc9b126f"
      unitRef="U_USD">1000000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="C_4599201f-18f9-4e94-8b05-0c0498aa84b3"
      decimals="-5"
      id="F_c79e53ff-6ab8-4c02-b3e5-86885642540a"
      unitRef="U_USD">1100000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="C_496d84a3-73fe-44c5-8e50-ed839038362a"
      decimals="-5"
      id="F_be8bcae5-01b5-4627-a745-04d5a8aecacd"
      unitRef="U_USD">0</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="C_59fdecb2-9c1c-41a2-a73e-d63de2cb9fee"
      id="F_2a2fc6b6-07d1-473c-909a-4de9a078e3fe">&lt;div style="display:flex;margin-top:10pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;"&gt;16.&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Related Party Transactions &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:3.333%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Certain facilities leased by Spectrum LifeSciences LLC (&#x201c;Spectrum&#x201d;) are owned by the Roy Eddleman Living Trust (the &#x201c;Trust&#x201d;). As of December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, the Trust owned greater than &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the Company's outstanding shares. Therefore, the Company considers the Trust to be a related party.  The lease amounts paid to the Trust prior to the public offering were negotiated in connection with the acquisition of Spectrum. The Company incurred rent expense related to these leases totaling $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; million for the years ended &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2023, 2022 and 2021&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;.&lt;/span&gt;&lt;/p&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="C_795866f3-e5d4-46f1-9c0d-a007e32e6676"
      decimals="INF"
      id="F_666519d2-f2a6-4b91-afe9-6affbc82bbea"
      unitRef="U_pure">0.05</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:ProfessionalFees
      contextRef="C_23beed10-3ba9-4e9f-b69e-cbd78136e023"
      decimals="-5"
      id="F_f2373b1e-a8ac-40bc-90fe-7f3bcf99b587"
      unitRef="U_USD">700000</us-gaap:ProfessionalFees>
    <us-gaap:ProfessionalFees
      contextRef="C_28d5b675-6a40-48a8-8f56-4066b2b4f76d"
      decimals="-5"
      id="F_879b2157-aaf0-44e0-9467-8c484a61bb05"
      unitRef="U_USD">700000</us-gaap:ProfessionalFees>
    <us-gaap:ProfessionalFees
      contextRef="C_e8c652ba-dc17-4095-b80a-80be283bdfef"
      decimals="-5"
      id="F_152ed3e3-9491-421b-9d9a-e69194b7f2ec"
      unitRef="U_USD">700000</us-gaap:ProfessionalFees>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#F_b42f939a-afb3-44d0-b885-18b00aee0c42"
          xlink:label="F_b42f939a-afb3-44d0-b885-18b00aee0c42"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_41ae403b-8eed-40d6-9d24-738bd7b5f54b"
          xlink:label="F_41ae403b-8eed-40d6-9d24-738bd7b5f54b"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_d1c02801-69d6-4cd9-b0f7-f09c531422ce"
          xlink:label="F_d1c02801-69d6-4cd9-b0f7-f09c531422ce"
          xlink:type="locator"/>
        <link:footnote id="FNT_08d7ab55-8a98-4fca-9059-6d00b6e7c5da" xlink:label="FNT_08d7ab55-8a98-4fca-9059-6d00b6e7c5da" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the dilutive impact for the Company's </xhtml:span><xhtml:span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.375</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2024 (the &#x201c; 2019 Notes&#x201d;) and its </xhtml:span><xhtml:span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.00</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% Convertible Senior Notes due 2028 (the &#x201c;2023 Notes&#x201d;). As of December 31, 2023, the if-converted value is less than the outstanding principal of the 2023 Notes and are therefore anti-dilutive. Refer to Note 14, &#x201c;</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible Senior Notes,&#x201d;</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for more information.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_b42f939a-afb3-44d0-b885-18b00aee0c42"
          xlink:to="FNT_08d7ab55-8a98-4fca-9059-6d00b6e7c5da"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_41ae403b-8eed-40d6-9d24-738bd7b5f54b"
          xlink:to="FNT_08d7ab55-8a98-4fca-9059-6d00b6e7c5da"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_d1c02801-69d6-4cd9-b0f7-f09c531422ce"
          xlink:to="FNT_08d7ab55-8a98-4fca-9059-6d00b6e7c5da"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#F_a593e441-e4f3-42dd-99bb-cab29fb4e7fd"
          xlink:label="F_a593e441-e4f3-42dd-99bb-cab29fb4e7fd"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_c53deb8c-c6c9-42a9-aadc-f665ee810e35"
          xlink:label="F_c53deb8c-c6c9-42a9-aadc-f665ee810e35"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_5a0e7162-6c91-4eef-96e9-8253c9d7d4f5"
          xlink:label="F_5a0e7162-6c91-4eef-96e9-8253c9d7d4f5"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_42c86271-3235-4e59-a758-ef673ccb9297"
          xlink:label="F_42c86271-3235-4e59-a758-ef673ccb9297"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_6778190e-e6e1-441b-a728-bd975f2fb93b"
          xlink:label="F_6778190e-e6e1-441b-a728-bd975f2fb93b"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_9f975e29-63b4-4dea-a75b-e358d0b3bb45"
          xlink:label="F_9f975e29-63b4-4dea-a75b-e358d0b3bb45"
          xlink:type="locator"/>
        <link:footnote id="FNT_561a82d8-d7a8-437a-b6cd-97d08633661d" xlink:label="FNT_561a82d8-d7a8-437a-b6cd-97d08633661d" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2023 revenue for filtration products includes revenue related to FlexBiosys, Inc. (&#x201c;FlexBiosys&#x201d;) from April 17, 2023, as well as Metenova Holding AB (&#x201c;Metenova&#x201d;) from October 2, 2023.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_a593e441-e4f3-42dd-99bb-cab29fb4e7fd"
          xlink:to="FNT_561a82d8-d7a8-437a-b6cd-97d08633661d"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_c53deb8c-c6c9-42a9-aadc-f665ee810e35"
          xlink:to="FNT_561a82d8-d7a8-437a-b6cd-97d08633661d"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_5a0e7162-6c91-4eef-96e9-8253c9d7d4f5"
          xlink:to="FNT_561a82d8-d7a8-437a-b6cd-97d08633661d"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_42c86271-3235-4e59-a758-ef673ccb9297"
          xlink:to="FNT_561a82d8-d7a8-437a-b6cd-97d08633661d"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_6778190e-e6e1-441b-a728-bd975f2fb93b"
          xlink:to="FNT_561a82d8-d7a8-437a-b6cd-97d08633661d"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_9f975e29-63b4-4dea-a75b-e358d0b3bb45"
          xlink:to="FNT_561a82d8-d7a8-437a-b6cd-97d08633661d"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#F_6cb640a5-9802-4420-9a89-8eb136be720d"
          xlink:label="F_6cb640a5-9802-4420-9a89-8eb136be720d"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_b18771ea-f0e3-413a-81ff-6dad36e25bb9"
          xlink:label="F_b18771ea-f0e3-413a-81ff-6dad36e25bb9"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_9480f985-4619-4b5e-9a6a-b139d8a302d0"
          xlink:label="F_9480f985-4619-4b5e-9a6a-b139d8a302d0"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_0771b9ca-4958-42b5-8f4b-754db30bae64"
          xlink:label="F_0771b9ca-4958-42b5-8f4b-754db30bae64"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_4471f9a5-c655-414c-8fb1-95f24e752b49"
          xlink:label="F_4471f9a5-c655-414c-8fb1-95f24e752b49"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_c7eb62cc-8eef-40c9-87e4-4b07dcd143dd"
          xlink:label="F_c7eb62cc-8eef-40c9-87e4-4b07dcd143dd"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_b231767e-964e-44c8-882c-1bc03546f44c"
          xlink:label="F_b231767e-964e-44c8-882c-1bc03546f44c"
          xlink:type="locator"/>
        <link:footnote id="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2" xlink:label="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">Unobservable inputs were weighted by the relative fair value of the contingent consideration liability.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_6cb640a5-9802-4420-9a89-8eb136be720d"
          xlink:to="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_b18771ea-f0e3-413a-81ff-6dad36e25bb9"
          xlink:to="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_9480f985-4619-4b5e-9a6a-b139d8a302d0"
          xlink:to="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_0771b9ca-4958-42b5-8f4b-754db30bae64"
          xlink:to="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_4471f9a5-c655-414c-8fb1-95f24e752b49"
          xlink:to="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_c7eb62cc-8eef-40c9-87e4-4b07dcd143dd"
          xlink:to="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_b231767e-964e-44c8-882c-1bc03546f44c"
          xlink:to="FNT_7590bd9e-4e2c-4213-8d6c-0b9fde55e0a2"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#F_aa3486e6-96b3-4758-83e4-67b320528ac3"
          xlink:label="F_aa3486e6-96b3-4758-83e4-67b320528ac3"
          xlink:type="locator"/>
        <link:footnote id="FNT_0aaa5cdb-d79f-425b-b2a3-10c61e327eec" xlink:label="FNT_0aaa5cdb-d79f-425b-b2a3-10c61e327eec" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">The future minimum lease payments include obligations for leases not yet commenced of $</xhtml:span><xhtml:span style="font-size:9pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">26.8</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> million for manufacturing, office and warehouse facilities. These leases have terms of between </xhtml:span><xhtml:span style="font-size:9pt;font-family:Times New Roman;"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">5</xhtml:span></xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> and </xhtml:span><xhtml:span style="font-size:9pt;font-family:Times New Roman;"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">10</xhtml:span></xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> years and commence during the first quarter of 2024.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_aa3486e6-96b3-4758-83e4-67b320528ac3"
          xlink:to="FNT_0aaa5cdb-d79f-425b-b2a3-10c61e327eec"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#F_4617d6da-ecc9-4558-811b-1c41db4c8d77"
          xlink:label="F_4617d6da-ecc9-4558-811b-1c41db4c8d77"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_021aad2b-4a49-4225-be99-7fa2953ad116"
          xlink:label="F_021aad2b-4a49-4225-be99-7fa2953ad116"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_91e18973-a12d-4882-9a86-aa51ac55eba7"
          xlink:label="F_91e18973-a12d-4882-9a86-aa51ac55eba7"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_a27f812f-2426-4cda-aab5-2c38a908b3fd"
          xlink:label="F_a27f812f-2426-4cda-aab5-2c38a908b3fd"
          xlink:type="locator"/>
        <link:footnote id="FNT_2f0ab321-a7d8-40c1-89e1-5b173d5c5c84" xlink:label="FNT_2f0ab321-a7d8-40c1-89e1-5b173d5c5c84" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested options as of December 31, 2023 plus the number of unvested options expected to vest as of December 31, 2023, based on the unvested outstanding options at </xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </xhtml:span><xhtml:span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </xhtml:span><xhtml:span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_4617d6da-ecc9-4558-811b-1c41db4c8d77"
          xlink:to="FNT_2f0ab321-a7d8-40c1-89e1-5b173d5c5c84"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_021aad2b-4a49-4225-be99-7fa2953ad116"
          xlink:to="FNT_2f0ab321-a7d8-40c1-89e1-5b173d5c5c84"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_91e18973-a12d-4882-9a86-aa51ac55eba7"
          xlink:to="FNT_2f0ab321-a7d8-40c1-89e1-5b173d5c5c84"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_a27f812f-2426-4cda-aab5-2c38a908b3fd"
          xlink:to="FNT_2f0ab321-a7d8-40c1-89e1-5b173d5c5c84"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#F_21831b06-7b50-4441-b058-e4a70c89b813"
          xlink:label="F_21831b06-7b50-4441-b058-e4a70c89b813"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_8763b94a-297a-4ef3-91ad-5f476a4e6c6a"
          xlink:label="F_8763b94a-297a-4ef3-91ad-5f476a4e6c6a"
          xlink:type="locator"/>
        <link:footnote id="FNT_a32fe0b9-91d3-43d9-bdc3-923f89cad0b3" xlink:label="FNT_a32fe0b9-91d3-43d9-bdc3-923f89cad0b3" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Represents the number of vested stock units as of </xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2023, plus the number of unvested stock units expected to vest as of December 31, 2023, based on the unvested outstanding stock units at December 31, 2023</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adjusted for estimated forfeiture rates of </xhtml:span><xhtml:span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to non-executive level employees and </xhtml:span><xhtml:span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for awards granted to executive level employees.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_21831b06-7b50-4441-b058-e4a70c89b813"
          xlink:to="FNT_a32fe0b9-91d3-43d9-bdc3-923f89cad0b3"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_8763b94a-297a-4ef3-91ad-5f476a4e6c6a"
          xlink:to="FNT_a32fe0b9-91d3-43d9-bdc3-923f89cad0b3"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
